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

以编程方式覆盖log4j配置:FileAppender的文件位置

于鸿博
2023-03-14
问题内容

是否可以覆盖已经在中配置的附加程序的“文件”属性,log4j.properties而无需创建新的附加程序?如果是的话-怎么样?

这是这种情况:我有两个apender,A1是ConsoleAppender,而A2是FileAppender。A2的“文件”指出了一个一般性error.log:

log4j.appender.A2.File=error.csv

此附加程序仅记录错误级别的事件,或更糟糕的是

log4j.appender.A2.Threshold=error

现在,我希望根据导致错误的类将这些错误写入不同的文件中,因为正在创建实例的类有多个。能够快速查看哪个类产生了错误将有很大的帮助,因为与浏览error.log来查找类标记相比,这很有帮助。

因此,我的想法是例如在这些新创建的类的构造html" target="_blank">函数中覆盖“ File”属性,以便将错误记录在不同的文件中。

在此先多谢!


问题答案:

要在运行时更改log4j属性,请访问此链接

http://alperkaratepe.wordpress.com/2010/01/16/how-to-change-log4j-properties-
at-runtime/

 private void updateLog4jConfiguration(String logFile) { 
    Properties props = new Properties(); 
    try { 
        InputStream configStream = getClass().getResourceAsStream( "/log4j.properties"); 
        props.load(configStream); 
        configStream.close(); 
    } catch (IOException e) { 
        System.out.println("Error: Cannot laod configuration file "); 
    } 
    props.setProperty("log4j.appender.FILE.file", logFile); 
    PropertyConfigurator.configure(props); 
 }


 类似资料:
  • 问题内容: 我正在尝试第一次使用SLF4J(带绑定)。 我想配置3个不同的命名,它们可以由返回,将记录不同的级别并将消息推送到不同的附加程序: 记录器1记录调试并附加到 记录器2记录TRACE +并追加到 记录器3记录ERROR +并追加到其他记录器 此外,我希望以编程方式配置它们(使用Java,而不是XML或log4j.properties文件)。 我想通常,我会在一些自举代码中的某处(如ini

  • 如何在Spring Boot应用程序中设置活动配置文件。该应用程序将部署在独立的Tomcat中。 我有2个属性文件应用程序-{profile}。属性。

  • 问题内容: 我想以编程方式从应用程序中加载Log4j2 XML配置文件。 试过这个: 还有这个: 但是什么都没有。 问题答案: 自己找到答案。有人可能会觉得有用。

  • 因为我在我的项目中添加了一个外部jar文件,所以log4j配置是从log4j中获取的。外部jar文件中的xml。log4j。我的应用程序中的xml配置未得到应用。 有没有办法覆盖log4j。xml配置,使我的应用程序log4j。xml被选中了? EAR结构: \lib\externalJar\log4j。xml \appweb。war\WEB-INF\classes\log4j。xml 我可以在日

  • 主要内容:FileAppender 参数,FileAppender 例子,把日志写入到多个文件Log4j 提供 org.apache.log4j.FileAppender 类将您的日志信息写入文件。 FileAppender 参数 FileAppender 具有以下可配置参数: 参数 描述 immediateFlush 此标志的默认值为 true,这意味着每次追加操作都会刷新文件的输出流。 encoding 我们可以使用任何字符编码。默认情况下,编码是特定于平台的编码方案。 thresho

  • 我已经编写了以下常规的、每次都可用的函数来显示和关闭键盘: |==|以编程方式显示和关闭键盘: 但问题是,当编辑文本位于键盘下方时,活动不会向上移动。仅当用户开始键入时,它才会移动。 那么,一旦键盘出现,我如何使它向上移动呢? 我浏览了下面的所有链接,没有任何帮助: Android:如何防止软键盘将我的视图向上推? adjustPan不阻止键盘覆盖编辑文本 Android:软键盘覆盖编辑文本(ad