如何把tomcat的日志实时输出到web页面上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把tomcat的日志实时输出到web页面上相关的知识,希望对你有一定的参考价值。

    完全实时输出其实是做不到的,只能做到及时,实时是要求服务器端产生一条日志就将一条日志发送到前端。这种主动推广是做不到的,只能定时向服务端请求日志将其返回浏览器端。换言之,你需要一个js服务不停的向服务器发送请求(间隔0.5s或者1s)。最基础的方式就是用ajax发送http请求。

    日志最终是生成文件的,且HTTP请求是无状态的,但是你每次需要将未读取的文本信息返回。所以前段每次请求需要传递一个参数用于表示当前端已有的文本位置。发送时包含该参数。服务器端获取该参数后将该文本位置之后的日志信息返回回来。

    剩下来就是定义接口,写个页面,把上述的问题实现即可。

参考技术A 这个很单,写个servlet,去读取这个txt文件
然后在web界面上不停的ajax请求
请求到servlet后去读取这个文本的内容,不停的输出就实现了自己要的效果了内
参考技术B websocket可以实现服务端向客户端的推送

csdn有人写过http://blog.csdn.net/smile326/article/details/52218264

取消tomcat 控制台所有日志打印输出

参考技术A 闲杂网上很多资料都是怎么把tomcat的日志输出到指定文件,或者文件过大怎么处理,方法到处都是!

而我遇到的问题是 tomcat 运行时输出大量的(专业说法:各种级别的日志),每次都输出几百行 当请求频繁时就想疯了一样输出刷屏,于是就想避免输出这些信息;

1 这些信息的界别都有这些:

一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息 。

二是访问日志信息,它记录的访问的时间,IP ,访问的资料等相关信息。

其中访问日志:

{默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志

编辑 $catalina/conf/server.xml 文件. 注 :$catalina 是 tomcat 的安装目录

把以下的注释 () 去掉即可。

directory="logs"  prefix="localhost_access_log." suffix=".txt"

pattern="common" resolveHosts="false"/>}

Tomcat 日志分为下面5类:

catalina 、 localhost 、 manager 、 admin 、 host-manager

每类日志的级别分为如下 7 种:

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

3.2  日志级别的设定方法

修改 conf/logging.properties 中的内容,设定某类日志的级别

示例:

设置 catalina 日志的级别为: FINE

1catalina.org.apache.juli.FileHandler.level = FINE

禁用 catalina 日志的输出:

1catalina.org.apache.juli.FileHandler.level = OFF

输出 catalina 所有的日志消息均输出:

1catalina.org.apache.juli.FileHandler.level = ALL

那么我的具体修改方法如下:在logging.properties修改设置

############################################################

随后 我的tomcat就正常输出自己大的日志和警告界别的日志  再也没有其他信息疯着出来了!

-->

以上是关于如何把tomcat的日志实时输出到web页面上的主要内容,如果未能解决你的问题,请参考以下文章

基于python的websocket开发,tomcat日志web页面实时打印监控案例

java 怎么获得tomcat 控制台输出的日志

取消tomcat 控制台所有日志打印输出

windows下tomcat日志输出至catalina.out文件

Java项目部署到tomcat上,我想知道如何获取项目中web-info的路径..

Tomcatlinux下实时查看tomcat运行日志