# log4j loggen in mehrere Dateien



## fuzzycontrol (12. Sep 2006)

Hi,

Was muss in die log4j.properties, wenn ich alle Fehler in eine extra Datei error.log reingeloggt haben möchte?


----------



## foobar (12. Sep 2006)

```
log4j.rootCategory=DEBUG, FILELOG

log4j.appender.FILELOG=org.apache.log4j.FileAppender
log4j.appender.FILELOG.File=${user.home}/myAppError.log
log4j.appender.FILELOG.Append=true
log4j.appender.FILELOG.Threshold=INFO
log4j.appender.FILELOG.layout=org.apache.log4j.PatternLayout
log4j.appender.FILELOG.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
```


----------



## fuzzycontrol (15. Sep 2006)

Danke, das hat mir erstmal ein Stück geholfen.

Aber jetzt jetzt schreibt er die Infomeldungen nicht mehr und nach stdout geht auch nix mehr raus

meine properties sieht so aus:



```
#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=info, stdout, R

# Print only messages of priority WARN or higher for your category
#log4j.category.your.category.name=WARN
# Specifically inherit the priority level
#log4j.category.your.category.name=INHERITED

#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=pub.log

# Control the maximum log file size
log4j.appender.R.MaxFileSize=1000KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p [%d{ISO8601}] in %c.%t(%L): %m%n



log4j.rootCategory=ERROR, FILELOG

log4j.appender.FILELOG=org.apache.log4j.FileAppender
log4j.appender.FILELOG.File=error.log
log4j.appender.FILELOG.Append=true
log4j.appender.FILELOG.Threshold=INFO
log4j.appender.FILELOG.layout=org.apache.log4j.PatternLayout
log4j.appender.FILELOG.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
```
[/code]


----------



## foobar (15. Sep 2006)

> Aber jetzt jetzt schreibt er die Infomeldungen nicht mehr und nach stdout geht auch nix mehr raus


Davon war auch nicht die Rede ;-)

Das was du da machst, ergibt keinen Sinn. 


```
log4j.rootCategory=info, stdout, R
```
In der Zeile gibst du an bei welchem Loglevel wohin geloggt werden soll. Im Moment würden alle Meldungen mit >= Info auf Stdout und ein Logfile geschrieben. Aber du überschreibst die Einstellungen der rootCategory wieder, daher kommt nichts auf STDOUT an.


----------



## fuzzycontrol (15. Sep 2006)

sorry, meine Anfrage war wohl nicht sehr konkret.

Also ich möchte alle Meldungen (info, error, etc) auf stdout und auf ein LogFile namens pub.log

Zusätzlich sollen dann die Fehlermeldungen (error, fatal) noch in ein extra Logfile namens error.log reingeschrieben werden.


----------

