Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在运行时为log4j的appender传递参数_Java_Log4j - Fatal编程技术网

Java 如何在运行时为log4j的appender传递参数

Java 如何在运行时为log4j的appender传递参数,java,log4j,Java,Log4j,我已经在log4j.xml中配置了dailrollingfileappender。在子项目的运行期间 我需要传递该特定子项目的日志文件的路径 我不想将路径作为VM参数传递 我已经定制了DailyRollingFileappender,并添加了一个设置路径的方法 我想在我的子项目的main()方法中访问DailyRollingFileappender 我想修改/添加此现有DailyRollingFileappender的参数 之后,日志文件应该采用我作为参数传递的更改(日志文件的路径) 我从X

我已经在log4j.xml中配置了dailrollingfileappender。在子项目的运行期间

  • 我需要传递该特定子项目的日志文件的路径
  • 我不想将路径作为VM参数传递
  • 我已经定制了DailyRollingFileappender,并添加了一个设置路径的方法
  • 我想在我的子项目的main()方法中访问DailyRollingFileappender
  • 我想修改/添加此现有DailyRollingFileappender的参数
  • 之后,日志文件应该采用我作为参数传递的更改(日志文件的路径)

      • 我从XML中删除了DailyRollingFileappender的创建,并通过设置文件路径以编程方式添加了它

      • 此文件路径由逗号行参数设置。现在它工作正常。谢谢大家


      请展示您的工作…可能的副本-您可以在运行时获得对appender的引用。看看另一个问题。或者,您需要使用API(比xml更可读)手动配置log4j。我们使用的是使用log4j.xml的定制日志框架。我们无法更改这一点。我能找到appender,但是,在添加/修改该appender的参数之后,我需要做哪些更改来反映该项目中的更改。这个答案也可能很有用:我从XML中删除了DailyRollingFileappender的创建,并通过设置文件路径和从逗号行参数读取的文件路径以编程方式添加它。现在它工作正常。谢谢大家。