Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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 初学者';s log4J问题_Java_Log4j - Fatal编程技术网

Java 初学者';s log4J问题

Java 初学者';s log4J问题,java,log4j,Java,Log4j,我在转换模式中为基本目的配置了log4j:- log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n 但是现在我想记录错误产生的类名、用户名(在会话对象中可用)以及事件发生的日期和时间。我该怎么做?我需要对格式字符串进行哪些更改 提前感谢:)查看文档,了解您想要的大部分内容 您面临的难题是从会话中获取用户名(Log4j无法自动完成此操作)。我可能会调查或者从会话中填充这些内容(可能在servlet过滤器中?)。它们

我在转换模式中为基本目的配置了log4j:-

log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n
但是现在我想记录错误产生的类名、用户名(在会话对象中可用)以及事件发生的日期和时间。我该怎么做?我需要对格式字符串进行哪些更改

提前感谢:)

查看文档,了解您想要的大部分内容


您面临的难题是从会话中获取用户名(Log4j无法自动完成此操作)。我可能会调查或者从会话中填充这些内容(可能在servlet过滤器中?)。它们是每个线程的,因此假设您的用户具有相同的作用域,这可能会有所帮助。

要获得类名,您可以使用%l,但您会受到一些性能影响。 要获取用户名,需要在模式字符串中分别使用a和y%X或%X


检查javdocs。

嗨,Brian,我应该直接在我们传递的用户消息(自定义消息)中指定用户名,而不是使用MDC或NDC吗?如果可以,可以。但是您是否需要将它传递给每个需要包含该信息的日志消息的方法?