【问题标题】:How to print log on Tomcat logs folder如何在Tomcat日志文件夹上打印日志
【发布时间】:2017-08-10 20:43:13
【问题描述】:

我正在使用Log4j 打印日志。它成功地在 spring 控制台上打印了日志,但我需要检查它是如何在catalina 上打印它们的。通常在服务器上我们写这个tail -f /var/log/tomcat8/catalina.out,但是如何在本地机器上查看这个。

这就是我正在做的打印日志

logger.info("Log4J - "+ "Request: " + 
                ",URL= "+ httprequest.getRequestURI()+
                ",requestId= "+ uniqueID+  ",Headers= "+ map);

请指导我如何以及在何处查看catalina 日志。

我尝试从 cmd 运行 Tomcat8.5 服务器。它启动服务器,并将一些日志放在tomcat/logs 文件夹中,但与应用程序无关。当我从浏览器打开服务时,它不会在日志中添加任何内容。

这是catalina.2017-03-19中写的内容

2017 年 3 月 19 日 21:08:38.766 信息 [主要] org.apache.coyote.AbstractProtocol.start 启动 ProtocolHandler [http-nio-8080] 2017 年 3 月 19 日 21:08:38.771 信息 [主要] org.apache.coyote.AbstractProtocol.start 启动 ProtocolHandler [ajp-nio-8009] 2017 年 3 月 19 日 21:08:38.772 信息 [主要] org.apache.catalina.startup.Catalina.start 服务器在 1092 毫秒内启动

编辑

这是我的属性文件,它打印此处提到的文件中的日志。C:\\log\\logging.log

# Root logger option
log4j.rootLogger=INFO, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


# Redirecting to Tomcat Logger

log4j.appender.file.File=${catalina.home}logs/logging.log


# Redirect log messages to a log file, support file rolling.

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\log\\logging.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

【问题讨论】:

    标签: java spring tomcat logging catalina.out


    【解决方案1】:

    检查应用程序日志。 logging.properties 文件以获取更多详细信息。

    如果未配置应用程序日志,则在 catalina.out 中记录写入输出。

    您的 logging.properties 文件位于何处?它应该在类路径的根目录中可用。作为健全性检查,以下代码打印了什么?

    System.out.println(getClass().getClassLoader().getResource("logging.properties"));
    

    如果代码在静态上下文中,请使用

    System.out.println(ClassName.class.getClassLoader().getResource("logging.properties"));
    

    【讨论】:

    • 谢谢,我已经编辑了我的问题,它在指定文件中打印日志,但不在 catalina 日志中。您提到的两行都返回 null。
    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多