如何配置tomcat日志输出
㈠ 如何将tomcat启动时的控制台日志输出到文件
Tomcat本身已经把日志输出到文件中了。 日志的配置LZ可以参考 ${Tomcat_Home}\conf\logging.properties这个文件。 级别配置、Format配置都在这个文件里面。 如果是应用程序打印的日志,LZ可以使用Log4j输出到LZ想要的地方。
㈡ 通过配置logging文件在启动Tomcat时输出Spring详细错误日志
在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
这样,我们再启动tomcat时,就会在logs目录下生成一个更详细的日志error-debug.**.log,并且详细报错也会在应用的日志中输出出来,通过该种设置,可以看到的详细错误日志
㈢ Tomcat日志配置编码
Windows下使用tomcat,经常会出现日志打印乱码问题,这里记录如何将tomcat的日志设置为UTF-8。基于tomcat-9.0.39。
通过修改conf/logging.properties文件,将其中注释掉的UTF-8的行取消注释,即使其生效。
通过设置环境变量:
注意,上述修改完后,应用和tomcat自身logs/下的日志都以UTF-8编码输出了,但是windows控制台上将会是乱码,因为windows的控制台默认的编码是GBK。
㈣ tomcat的日志打印怎么设置
在eclipse中启动tomcat时,在console中输出的日志信息为红色,但其实程序并没有错误。原因是:tomcat默认的日志输出按jdk中的System.err来输出,而System.err在eclipse中,以红色显示。解决法:Eclipse中System.err的显示颜色可以通过Window-->Preference-->Run/Debug-->Console的StandardErrortextcolor进行更改。JDK日志具体的输出处理类需要在%JRE_HOME%/lib/logging.properties配置的handlers指定,可以使用System.out重写一个java.util.logging.ConsoleHandler配置进去就可以了。
㈤ tomcat在启动时,总以error级别输出日志的解决方案
tomcat在启动的时候,不管什么级别的日志,总是会以error级别输出,红殃殃的一大片,不方便调试,如下:
大部分解决方案都是删除server.xml中的如下配置项:
这样治标不治本,只是上图中的日志不再显示了而已。如果遇到其他一些级别的日志,还是会以error来输出。
最后,在tomcat官网找到一种解决方式,就是将tomcat的日志输出替换为log4j日志系统来输出( 官网文档 ),可以准确输出各种级别的日志,具体步骤如下:
将log4j和tomcat-juli-adapters这两个包放置tomcat的lib下,将tomcat-juli放置tomcat的bin下,存在相同的jar包则替换。
创建log4j.properties文件,放置tomcat的lib下,文件内容如下,可根据需要自己修改:
删除tomcat的conf下的logging.properties文件
经过以上步骤,基本上就替换完成了,效果如下
可以看到tomcat已经按照我们想要的配置进行输出日志了,而且可以看到日志的级别,大大方便了我们开发调试。
㈥ tomcat怎么设置能每个项目生成独立的日志文件
要使项目生成独立的日志文件,则在项目中进行下日志输出配置即可,这样你的项目发布到tomcat容器中后会对应生成独立的日志。
在Java中,项目中日志打印有多种配置方式,比较常用的有log4j、logback两种,配置大同小异。下面是log4j的其中一生种配置方案:
log4j.rootLogger=INFO,TC,TF-INFO,TF-ERROR #指定日志根logger
#the console log
log4j.appender.TC=org.apache.log4j.ConsoleAppender #控制台模式
log4j.appender.TC.layout=org.apache.log4j.PatternLayout #日志模板
log4j.appender.TC.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %c [%p] %m%n #日志格式化输出
#the file log
log4j.appender.TF-INFO=org.apache.log4j.DailyRollingFileAppender #文件模式 一天一个文件
log4j.appender.TF-INFO.Threshold=INFO #这里指定日志级别
log4j.appender.TF-INFO.append=true #是否追加
log4j.appender.TF-INFO.File=log/info/pro_info.log #日志文件,日志将打印在该文件里面
log4j.appender.TF-INFO.Encoding=UTF-8 #日志编码
log4j.appender.TF-INFO.DatePattern=.yyyy-MM-dd #日志文件名的日期格式
log4j.appender.TF-INFO.layout=org.apache.log4j.PatternLayout #日志模板
log4j.appender.TF-INFO.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %r [%t] [%C.%M:%L] [%p] %m%n #日志格式化输出
log4j.appender.TF-ERROR=org.apache.log4j.DailyRollingFileAppender
log4j.appender.TF-ERROR.Threshold=ERROR
log4j.appender.TF-ERROR.append=true
log4j.appender.TF-ERROR.File=log/error/pro_error.log
log4j.appender.TF-ERROR.Encoding=UTF-8
log4j.appender.TF-ERROR.DatePattern=.yyyy-MM-dd
log4j.appender.TF-ERROR.layout=org.apache.log4j.PatternLayout
log4j.appender.TF-ERROR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %r [%t] [%C.%M:%L] [%p] %m%n
以上只是其中的一种配置,楼主只需要在工程的src源码目录下建立一个名为log4j.properties的文件,将内容粘贴进去,启动项目日志即可输出。当然,楼主可根据项目需要自己定义日志输出模板,具体可以网上学习下或看下log4j手册即可。
注:日志打印需要的jar包:log4j、slf4j-api、slf4j-log4j12三个包
有问题欢迎提问,满意请采纳,谢谢!