我想说您的要求是为您的新包结构(新模块中的那个)使用不同的记录器。
例如:- 如果您的新模块中使用的包结构是 ab*,那么下面的属性文件将适合您的目的。
# Root logger option
log4j.rootLogger=INFO,stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to your file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#Package logger option
log4j.logger.a.b=INFO,file (see note 1)
log4j.additivity.a.b=false (see note 2)
注意 1:- 为新包定义一个新的记录器。在此包或子包下定义的任何类都将使用此记录器。阅读此处以了解有关命名层次结构的更多信息。在你的java中,你可以使用
Logger logger = Logger.getLogger(yourClass)
注意 2:- 关闭可加性,以便仅在添加到 logger abRead 的附加程序中打印日志以了解有关可加性的更多信息。