Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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细粒度调试消息_Java_Debugging_Logging_Messaging - Fatal编程技术网

不同模块的Java细粒度调试消息

不同模块的Java细粒度调试消息,java,debugging,logging,messaging,Java,Debugging,Logging,Messaging,我知道处理严重/错误/调试/警告/信息消息的常用方法是通过消息/日志系统。然后可以使用标志切换要打印的消息 有时调试消息可能会让人不知所措。如果我需要通过模块对调试消息进行更多控制,该怎么办?如何按模块切换调试消息?是否可以使用典型的消息/日志系统?或者有什么更好的方法 我在C++中使用了 >定义模块1~调试1/0 < /COD>。然后写一堆 #ifdef MODULE1_DEBUG cout << "my debug message for module1" << e

我知道处理
严重/错误/调试/警告/信息
消息的常用方法是通过消息/日志系统。然后可以使用标志切换要打印的消息

有时调试消息可能会让人不知所措。如果我需要通过模块对调试消息进行更多控制,该怎么办?如何按模块切换调试消息?是否可以使用典型的消息/日志系统?或者有什么更好的方法

我在C++中使用了<代码> >定义模块1~调试1/0 < /COD>。然后写一堆

#ifdef MODULE1_DEBUG 
cout << "my debug message for module1" << endl;
#endif
#ifdef模块1_调试

cout是的,您可以通过模块控制调试消息。请在下面找到控制log4j中消息的示例配置文件

log4j.appender.MY_LOGGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MY_LOGGER.DatePattern='.'yyyy-MM-dd
log4j.appender.MY_LOGGER.File=/logs/my.log
log4j.appender.MY_LOGGER.Append=true
log4j.additivity.MY_LOGGER.Append=false
log4j.appender.MY_LOGGER.layout=org.apache.log4j.PatternLayout
log4j.appender.MY_LOGGER.layout.ConversionPattern=[MY] %d [%t] %-5p %C - %m%n

log4j.logger.com.example.dao=DEBUG, MY_LOGGER
log4j.logger.com.example.action=INFO, MY_LOGGER
log4j.logger.com.example.controller=WARN, MY_LOGGER
这将在调试时设置com.example.dao包中的日志记录级别,在INFO时设置com.example.action,在WARN时设置com.example.controller中的日志记录级别

您甚至可以为不同的模块设置不同的属性。只需创建更多记录器实例,如下所示

    log4j.appender.MY2_LOGGER=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.MY2_LOGGER.DatePattern='.'yyyy-MM-dd
    log4j.appender.MY2_LOGGER.File=/logs/my2.log
    log4j.appender.MY2_LOGGER.Append=true
    log4j.additivity.MY2_LOGGER.Append=false
    log4j.appender.MY2_LOGGER.layout=org.apache.log4j.PatternLayout
    log4j.appender.MY2_LOGGER.layout.ConversionPattern=[MY2] %d [%t] %-5p %C - %m%n

    log4j.logger.com.example.my2.controller=WARN, MY2_LOGGER