我需要过滤一些用于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配置文件)。
由于
答案 0 :(得分:0)
您可以使用不同的记录器并配置log4j来为它们使用不同的日志级别。如果您不想要其中一些,只需将<global>
设置为日志级别。