我有一个Client和Server类。在同一个JVM中,有一个Client实例正在运行,8个Server实例同时运行。
我现在希望(以编程方式或通过属性文件)安装log4j,以便每个类实例都有一个日志文件。对于上面的示例,我希望有9个单独的日志文件。
答案 0 :(得分:1)
如果您对所有实例使用相同的Logger(v.g.,private static final Logger log = Logger.getLogger(MyClass.class)
,则所有日志都将遵循相同的过程。
您应该将记录器定义为实例属性,并为log4j.properties中的每个属性设置不同的行为,例如。
private final Logger log;
public MyClass(String instanceID) {
this.log = Logger.getLogger(MyClass.class.toString() + "_" + instanceID);
}