除了日志级别之外如何过滤log4j日志?

时间:2016-08-29 16:23:51

标签: java log4j

我需要过滤一些用于prod maven配置文件的while getopts "h?c:b:a:" args; do case $args in h|\?) usage; exit;; a ) homedir=d;; b ) threads=${OPTARG};; c ) string=${OPTARG} echo "Entered string: $string" [[ $string=="bla" || $string=="blubb" ]] && usage;; : ) echo "Missing option argument for -$OPTARG" >&2; exit 1;; * ) echo "Unimplemented option: -$OPTARG" >&2; exit 1;; esac done 控制台语句,而我是开发人员。

例如: log4j.properties

log.info

MyClass.java

# Root logger option
log4j.rootLogger = INFO,console,file

# Direct log messages to a log file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/application.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %-5X{username} %c{1}:%L - %m%n

然后在某个地方我们使用public class MyClass{ private static final Log log = LogFactory.getLog(MyClass.class); 为生产编写了许多信息。我想在开发时删除此信息。也许对于这样的生产情况,我可以使用不同的记录器,在属性中打开/关闭输出(取决于maven配置文件)。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用不同的记录器并配置log4j来为它们使用不同的日志级别。如果您不想要其中一些,只需将<global>设置为日志级别。