Prev: Free Online Subversion Training - Introduction to Subversion for Developers
Next: Free Online Subversion Training - Introduction to Subversionfor Developers
From: John Smith on 29 Apr 2010 12:15 I want to create a new logger instance that will simultaniusly log to another file. I was able to do that programatically. So when I instantiate the logger like this: ---------------------------------------------------- Logger logger = Logger.getLogger("AnotherLogger"); ---------------------------------------------------- it writes to a separate log file "AnotherLogFile.txt". I do not like the idea to hard-code the appender instantiation. --------------------------------------------------- Layout layout = new PatternLayout("%d %-5p %m%n"); RollingFileAppender rfa = new RollingFileAppender(layout, "AnotherLogFile.txt"); rfa.setMaxFileSize(10MB); rfa.setMaxBackupIndex(8); Logger.getLogger("AnotherLogger").setAdditivity(false); Logger.getLogger("AnotherLogger").addAppender(rfa); ----------------------------------------------------- The question is can I configure this via log4j.properties? Thanks in advance for any suggestions.
From: Lew on 29 Apr 2010 19:45 John Smith wrote: > I want to create a new logger instance that will simultaniusly log to > another file. I was able to do that programatically. > So when I instantiate the logger like this: > > ---------------------------------------------------- > Logger logger = Logger.getLogger("AnotherLogger"); > ---------------------------------------------------- > > it writes to a separate log file "AnotherLogFile.txt". > > I do not like the idea to hard-code the appender instantiation. > > --------------------------------------------------- > Layout layout = new PatternLayout("%d %-5p %m%n"); > RollingFileAppender rfa = new RollingFileAppender(layout, > "AnotherLogFile.txt"); > rfa.setMaxFileSize(10MB); > rfa.setMaxBackupIndex(8); > > > Logger.getLogger("AnotherLogger").setAdditivity(false); > Logger.getLogger("AnotherLogger").addAppender(rfa); > > > ----------------------------------------------------- > > The question is can I configure this via log4j.properties? What have you been able to do with log4j.properties so far? Try (using your own folders, files and package names, of course): # logj4.properties log4j.rootCategory = WARN, A log4j.category.com.lewscanon = WARN, F log4j.category.com.lewscanon.mouser = DEBUG, X log4j.appender.A = org.apache.log4j.ConsoleAppender log4j.appender.A.layout = org.apache.log4j.PatternLayout log4j.appender.F = org.apache.log4j.RollingFileAppender log4j.appender.F.layout = org.apache.log4j.PatternLayout log4j.appender.F.File = /projects/mouser/logs/lewscanon.log log4j.appender.F.MaxFileSize = 512KB log4j.appender.F.MaxBackupIndex = 2 log4j.appender.X = org.apache.log4j.RollingFileAppender log4j.appender.X.layout = org.apache.log4j.PatternLayout log4j.appender.X.File = /projects/mouser/logs/mouser.log log4j.appender.X.MaxFileSize = 512KB log4j.appender.X.MaxBackupIndex = 2 log4j.appender.A.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n log4j.appender.F.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n log4j.appender.X.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n -- Lew
From: John Smith on 30 Apr 2010 04:23
On 30.4.2010. 1:45, Lew wrote: > John Smith wrote: >> I want to create a new logger instance that will simultaniusly log to >> another file. I was able to do that programatically. >> So when I instantiate the logger like this: >> >> ---------------------------------------------------- >> Logger logger = Logger.getLogger("AnotherLogger"); >> ---------------------------------------------------- >> >> it writes to a separate log file "AnotherLogFile.txt". >> >> I do not like the idea to hard-code the appender instantiation. >> >> --------------------------------------------------- >> Layout layout = new PatternLayout("%d %-5p %m%n"); >> RollingFileAppender rfa = new RollingFileAppender(layout, >> "AnotherLogFile.txt"); >> rfa.setMaxFileSize(10MB); >> rfa.setMaxBackupIndex(8); >> >> Logger.getLogger("AnotherLogger").setAdditivity(false); >> Logger.getLogger("AnotherLogger").addAppender(rfa); >> ----------------------------------------------------- >> >> The question is can I configure this via log4j.properties? > > What have you been able to do with log4j.properties so far? > > Try (using your own folders, files and package names, of course): > > # logj4.properties > log4j.rootCategory = WARN, A > log4j.category.com.lewscanon = WARN, F > log4j.category.com.lewscanon.mouser = DEBUG, X > > log4j.appender.A = org.apache.log4j.ConsoleAppender > log4j.appender.A.layout = org.apache.log4j.PatternLayout > > log4j.appender.F = org.apache.log4j.RollingFileAppender > log4j.appender.F.layout = org.apache.log4j.PatternLayout > log4j.appender.F.File = /projects/mouser/logs/lewscanon.log > log4j.appender.F.MaxFileSize = 512KB > log4j.appender.F.MaxBackupIndex = 2 > > log4j.appender.X = org.apache.log4j.RollingFileAppender > log4j.appender.X.layout = org.apache.log4j.PatternLayout > log4j.appender.X.File = /projects/mouser/logs/mouser.log > log4j.appender.X.MaxFileSize = 512KB > log4j.appender.X.MaxBackupIndex = 2 > > log4j.appender.A.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n > log4j.appender.F.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n > log4j.appender.X.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n > Thank you very much, this works. I modified a little not to use package logging. I use another logger instead that covers all the packages, but writes to a different file. log4j.category.AnotherLogger=WARN, F log4j.additivity.AnotherLogger=false log4j.appender.F=org.apache.log4j.RollingFileAppender log4j.appender.F.layout = org.apache.log4j.PatternLayout log4j.appender.F.File = /projects/mouser/logs/lewscanon.log log4j.appender.F.MaxFileSize = 512KB log4j.appender.F.MaxBackupIndex = 2 |