...
Code Block | ||
---|---|---|
| ||
log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n log4j.rootCategory=debug, stdout, file log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n # Configuration of the log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=/var/opt/sosftp/log/sosdex.log log4j.appender.file.MaxFileSize=10000KB # Keep a backup copy log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n |
...
Code Block | ||
---|---|---|
| ||
[FTP_123] protocol = ftps #port = 49159 host = dedcw28ftp01.de.int.kauflandmyHost user = DE\ppmftpftpUser password = *********** log4j_Property_FileName = /opt/sosftp/sosdex_client.1.3.12.2032/profile/log4j.properties [TEST_FTP_REC_new] include = FTP_123 port = 49157 log_filename = /var/opt/sosftp/log/my_logfile_name.log #verbose = 9 history = /var/opt/sosftp/log/history_TEST_FTP_REC_new.csv file_spec = .*\.txt force_files = false remove_files = true transactional = true atomic_suffix = .tmp local_dir = /var/mercator_env/qde/data/input/tisowareftpReceive/ remote_dir = ./ |
2. To specify the log file name for each transfer
XI
die log4.jproperties ist universal. Der Name, den sie als log_filename angeben, wird, mit der extension .html erweitert, auch für log4j verwendet. Der Trick: die Definitionen in der property-datei werden dynamisch verändert. Es entstehen dann zwei Dateien: einmal die Datei mit dem Namen der in log_filename angegeben ist und dann die html-Datei mit einer Zusammenfassung des Transfers. Die html-Datei wird jedesmal überschrieben, die log-datei ist ein rollierendes Log-File.
Code Block | ||
---|---|---|
| ||
[Transfer1]
log4j_Property_FileName = /opt/sosftp/sosdex_client.1.3.12.2207/profile/log4j.properties
log_filename = /var/opt/sosftp/log/Transfer1.log
[Transfer2]
log4j_Property_FileName = /opt/sosftp/sosdex_client.1.3.12.2207/profile/log4j.properties
log_filename = /var/opt/sosftp/log/Transfer2.log
|
Wenn ich die Transfers laufen lasse, sollte mir zum einen das in der log4j definierte "globale" sodex.log geschrieben werden, was auch der Fall ist, sowie das transferspezifische Transfer1.log. Dieses Log vermisse ich allerdings im dazugehoerenden Logverzeichnis .
XII
Sie machen da nichts falsch. Es liegt an der log4j.properties Datei.
Meine sieht so aus:
- $Id: log4j.properties 17657 2012-07-23 12:55:04Z kb $
log4j.rootLoggeh1. debug, stdout
log4j.logger.JadeReportLoginfo, JadeReportLog, JadeReportLogHTML
log4j.appender.stdouh1. org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPatterh1. %t %-5p %-14d{hh:mm:ss,SSS} %p (%F:%L) ::%M %m %n
- Configuration as HTML
log4j.appender.JadeReportLogHTMLorg.apache.log4j.FileAppender
log4j.appender.JadeReportLogHTML.layouh1. org.apache.log4j.HTMLLayout
log4j.appender.JadeReportLogHTML.File${java.io.tmpdir}/Jade-client.html
log4j.appender.JadeReportLogHTML.Appenh1. false
log4j.appender.JadeReportLogHTML.layout.TitleJADE - JobScheduler Advanced Data Exchange
- Configuration for JadeReportLog
log4j.appender.JadeReportLoh1. org.apache.log4j.RollingFileAppender
log4j.appender.JadeReportLog.File${java.io.tmpdir}/Jade-client.log
log4j.appender.JadeReportLog.MaxFileSizh1. 5000KB
log4j.appender.JadeReportLog.MaxBackupIndex30
log4j.appender.JadeReportLog.layouh1. org.apache.log4j.PatternLayout
log4j.appender.JadeReportLog.layout.ConversionPattern%-21d{hh:mm:ss,SSS}%m %n
Note that it is also possible to define a "rollingFileAppender". This configures the "global" log, which is not transfer-specific.
The transfer-specific log file is configured in the HTML appender shown in the listing above. Der Name der Datei ist in der Datei "nur" ein Platzhalter. JADE macht daraus "log_filename".html
In der jetzigen JADE-Version wird da noch ein standard-Layout von log4j verwendet, was imho nicht so nett ist. Ich habe bereits eine modifizierte Version im Einsatz, die auch z.B. Zeilenumbrüche beherschtWork In Progress ....