How to configure properties so that one logger can write to the console and another to the file ?? Here are my properties

# Root logger option log4j.rootLogger=DEBUG,console,file # Redirect log messages to console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout # Redirect log messages to a log file, support file rolling. log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=chain\\log.log log4j.appender.file.MaxFileSize=5MB log4j.appender.file.MaxBackupIndex=10 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 
  • At first glance, you have everything right. And what does not work? - Igor Kudryashov
  • @IgorKudryashov I need to get 2 loggers and 1 to write to the file, and another to the console - Valentyn Anzhurov
  • Try replacing log4j.rootLogger=DEBUG,console,file with some log4j.logger.APP=DEBUG, console,file . In the program code, initialization of the logger should be done like this: logger = Logger.getLogger('APP'); - Igor Kudryashov
  • @IgorKudryashov and where will this logger write? - Valentyn Anzhurov
  • This is indicated in log4j.logger.APP=DEBUG, console,file in this case in the appenders console and file - Igor Kudryashov

1 answer 1

 # Root logger option
 log4j.logger.APP1 = DEBUG, console
 log4j.logger.APP2 = DEBUG, file

 # Redirect log messages to console
 log4j.appender.console = org.apache.log4j.ConsoleAppender
 log4j.appender.console.Target = System.out
 log4j.appender.console.layout = org.apache.log4j.PatternLayout

 # Redirect log messages
 log4j.appender.file = org.apache.log4j.RollingFileAppender
 log4j.appender.file.File = chain \ log.log
 log4j.appender.file.MaxFileSize = 5MB
 log4j.appender.file.MaxBackupIndex = 10
 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

Respectively in the code

 loggerToConsole = Logger.getLogger ('APP1');
 loggerToFile = Logger.getLogger ('APP2');