当前位置: 首页 > 知识库问答 >
问题:

如何从catalina重定向log4j日志记录。要分开归档吗?

施敏达
2023-03-14

在我的项目中创建log4j.properties文件如下,但是日志文件(test-service.log)没有被创建,而是日志消息被登录catalina.out如何解决这个问题......


    log4j.debug=TRUE
    log4j.rootLogger=WARN, R
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=/opt/apache-tomcat-7.0.40/logs/test-service.log
    log4j.appender.R.MaxFileSize=1000KB
    log4j.appender.R.MaxBackupIndex=5
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSSS}-%t-%x-%-5p-%-10c:%m%n 

共有1个答案

曹君墨
2023-03-14

> 将log4j-1.2.17.jar添加到WEB-INF/lib。

  • 将log4j.properties移到src目录的根目录。
  • 初始化类中的记录器,如:

    专用静态最终记录器日志=记录器。getLogger(ClassName.class);

  •  类似资料:
    • 问题是它不在catalina- .log中记录,而是在catalina中记录。似乎没有正确配置appender。文件catalina似乎是从log4j.appender.catalina.file=${catalina.home}/logs/catalina创建的。在配置中。 有人能帮我解决这个问题吗?

    • 我只定义了两个记录器:一个是根记录器,另一个是公共记录器。我想那么普通记录器就变成根记录器的直接子级了,对吧?如果是,那么如何防止普通记录器的追加器打印的日志冒泡到根记录器的追加器? 根据文档:

    • 从其他问题中,我发现WebSphere和Spark都在内部使用SLF4J。如何防止Spark中的SLF4J通过自身重定向来自其他应用程序的所有日志记录? 我使用的是WebSphere Application Server V8.5.5.6和Apache Spark V1.4.1 CHD4二进制发行版。

    • 主要内容:Logger日志方法的例子,Logger的日志方法Logger 类有多种方法来处理日志记录活动。Logger 类不允许我们实例化一个新的 Logger 实例,但它支持两种获取 Logger 对象的静态方法: 两个方法中的第一个返回应用程序实例的根记录器,它没有名称。 任何其他命名的 Logger 对象实例都是通过传递记录器的名称由第二种方法获得的。记录器的名称可以是您传递的任何字符串,通常是类或包名称,如下所述: Logger日志方法的例子 Lo

    • 当前的日志阈值是关于日志级别(TRACE,DEBUG,INFO,WARN,ERROR和FATAL)对我来说是不够的。我有一个千兆字节的日志从第三方库写入紧急情况下的错误类别。我不想打开这个日志,因为我想看到这个问题日志。大多数日志都是连续重复的堆栈跟踪。所以我想要一种可以 1)跳过日志,如果阈值(kb/sec)是真实的(我的意思是当我们写很多日志-我们可能会跳过一些)或 2)如果在一段时间内打印了

    • 问题内容: 我对jdk日志记录配置有疑问。我有一个使用JDK Logging输出消息的EJB(已部署到glassfish中)。因此,我使用具有以下代码的命名记录器: 我知道可以通过将以下行添加到Glassfish的logging.properties文件中来为记录器配置日志级别: 但是,如何为记录器指定输出文件?我想将来自名为“ org.imixs.workflow”的记录器的所有消息放入单独的文