Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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配置文件_Java_Spring_Log4j - Fatal编程技术网

Java 对运行不同进程的同一应用程序使用不同的log4j配置文件

Java 对运行不同进程的同一应用程序使用不同的log4j配置文件,java,spring,log4j,Java,Spring,Log4j,我开发了一个简单的基于spring的应用程序,它有三个不同的类,包含main方法 class P1 -> runs process P1 class P2 -> runs process P2 class P3 -> runs process P3 目前,这些进程使用单个日志配置文件,即默认情况下从类路径加载的log4.xml 我想这样做 class P1 -> runs process P1 -> Uses log4j_p1.xml class P2 ->

我开发了一个简单的基于spring的应用程序,它有三个不同的类,包含
main
方法

class P1 -> runs process P1
class P2 -> runs process P2
class P3 -> runs process P3
目前,这些进程使用单个日志配置文件,即默认情况下从类路径加载的
log4.xml

我想这样做

class P1 -> runs process P1 -> Uses log4j_p1.xml
class P2 -> runs process P2 -> Uses log4j_p2.xml
class P3 -> runs process P3 -> Uses log4j_p3.xml
我怎样才能在春天做到这一点

注:这是纯弹簧应用。我是春天的新手。如果有使用依赖项注入的Spring特定方法,请务必告诉我。
如果没有,我们如何以普通的
JAVA+log4j
方式实现它。

实现这一点的最简单方法可能是使用log4j的
log4j.configuration
系统属性。您可以将此系统属性传递给每个进程,并引用相关的
log4j.xml
文件

例如,假设类路径上有
log4j_p1.xml
,那么在运行
p1
时,向启动Java进程的命令添加以下系统属性:

-Dlog4j.configuration=log4j_p1.xml
然后对
P2
P3
也一样