当前位置: 首页 > 面试题库 >

如何动态更改log4j日志文件?

贾越
2023-03-14
问题内容

我想要一个log4j配置,这样日志文件名应该像$ {System-name} log.log。也就是说,如果该应用程序在任何系统上启动,则无需更改配置文件或代码。它应该生成提到的日志文件名。谢谢。


问题答案:

我这样做:
1)通过以下方式初始化记录器:

System.setProperty("my.logsDir", vcsLogsDir);
DOMConfigurator.configure("c:/log4j.xml");

2)在log4j.xml中我使用变量:

<param name="File" value="${my.logsDir}Default.log"/>d


 类似资料:
  • 问题内容: 我想动态更改log4j日志文件的路径和文件名。 我已经阅读了很多页面,几乎每个页面都告诉我应该使用此处的系统属性: [如何动态更改log4j日志文件?](http://codingdict.com/questions/141150 所以我的log4j.properties文件看起来像这样: 在我的主要方法中,我将设置新的系统属性: 但是我只是得到一个错误: 当我尝试使用以下命令读取设置

  • 问题内容: 我们有几个同时运行的作业,它们必须为log4j使用相同的配置信息。他们都使用相同的附加程序将日志转储到一个文件中。有没有一种方法可以让每个作业动态命名其日志文件,以使它们保持独立? 谢谢 汤姆 问题答案: 您可以为每个作业传递Java系统属性吗?如果是这样,您可以像这样进行参数化: 然后在您的log4j.properties中: 您可以使用主机环境(例如)中的值填充Java系统属性,该

  • 问题内容: 是否有可能在运行时使用MDC命名日志文件。 我有一个单独的Web应用程序,该应用程序同时使用tomcat docbase被不同的名称调用。因此,我需要为每个文件设置单独的日志文件。 问题答案: 这可以在Logback(Log4J的后继者)中完成。 Logback旨在作为流行的log4j项目的后继者,从log4j离开的地方接手。 请参阅文档筛选器 SiftingAppender在引用和配

  • 问题内容: 我有一个日志文件,其中添加了以下附加程序: 事实是,每次我运行我的应用程序时,其他日志记录信息都会附加到同一日志文件中。每次我该怎么做才能覆盖文件? 问题答案: 使用RollingFileAppender。

  • 当前,我的中有以下内容: changelog是由Liquibase找到的,并且一切都能正常工作。 我已经将changelog和项目的所有JPA实体和存储库移到了一个单独的项目中,以便它们可以与其他项目共享。 第二个项目是第一个项目的Maven依赖项。我需要在第一个项目的中使用什么路径来访问第二个项目中的liquibase更改日志? projecta.jar->pom.xml projecta.ja

  • 问题内容: 我正在开发一个通过Commons使用Log4J的项目。 我正在尝试找到日志文件的路径,但是没有找到合适的方法来从Logger返回日志文件的路径。 有人尝试过吗? 问题答案: 您必须 从根记录器 获取所有附加程序,然后获取日志文件的名称。