Autor Thema: Java Agent mit log4j debuggen - Bloss wie?  (Gelesen 4410 mal)

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Java Agent mit log4j debuggen - Bloss wie?
« am: 02.11.11 - 10:58:18 »
Hallo Forum

Seit einigen Stunden versuche ich nun aus einem JavaAgent eine Log-Datei auf meine Festplatte zu schreiben. Während der Entwicklung starte ich den Agent manuell. Später läuft der Agent getriggert auf dem Domino-Server und soll selbstverständlich auch da ein Log-File schreiben.

Code
public class SMCTest extends AgentBase {
	
	private static final Logger logger = Logger.getLogger(SMCTest.class);
	
	public void NotesMain() {
		
		try {
						
			logger.trace("Ich bin eine Trace Message");
			logger.debug("Ich bin die Debug-Message");
			logger.info("Ich bin eine Information");
			logger.warn("Ich bin eine Warnung");
			logger.error("Ich bin ein Error");
			logger.fatal("Ich bin ein fataler Fehler");

                } catch {

                }
        }
}
Was klappt: Wenn ich die Konfigruation innerhalb des Agents vornehme wird ein Log-File auf der Platte angelegt

Sobald ich aber versuche die Konfiguration in die log4j.properties zu delegieren passiert gar nichts mehr. Ich habe sowohl einen Appender für ein Log-File als auch für die Console erstellt.

Code
# Verzeichnis der Applikationlogs (Standard Loglaufwerk F:)
logDir = Z:/Java/Logs

#-- SMC Logger SMCLOG
log4j.logger.ch.ebex.ext.smc.test=DEBUG, SMCLOG
log4j.additivity.ch.ebex.ext.smc.test=false

#FileApp -- SMCLOG for smc.log is set to be a RollingFileAppender ------
log4j.appender.SMCLOG=org.apache.log4j.RollingFileAppender
log4j.appender.SMCLOG.File=${logDir}/SMC/smc.log
log4j.appender.SMCLOG.MaxFileSize=5000KB
log4j.appender.SMCLOG.MaxBackupIndex=5
log4j.appender.SMCLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SMCLOG.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n

#ConsoleApp -- SMCLOGCON for smc.log is set to be a ConsoleAppender ------
log4j.appender.SMCLOGCON=org.apache.log4j.ConsoleAppender
log4j.appender.SMCLOGCON.layout=org.apache.log4j.PatternLayout
log4j.appender.SMCLOGCON.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
Meine Fragen:
- In welches Verzeichnis muss das log4j.properties File abgelegt werden, damit es gefunden wird?
- Muss ich irgendwelche zusätzliche (notes-spezifische) Konfigurationen im log4j.properties vornehmen?
- Muss ich sonst noch etwas beachten?

Ich bin leider mit meinem Latein am Ende.  :-[

Grüsse und vielen Dank für jeden Tipp

Hampa
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

Offline hampa

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • "As khunnt guat"
    • Hampas Blog
Re: Java Agent mit log4j debuggen - Bloss wie?
« Antwort #1 am: 03.11.11 - 11:19:00 »
Das Problem hat sich dahingehend entschärft, da ich jetzt zumindest ein Log-File schreiben kann. Ich habe es aber bloss zum Laufen gebracht indem ich das log4j.properties File innerhalb des Notes-Agents öffne.

Code
public class SMCTest extends AgentBase {

	......
	private Logger logger;
		
	public void NotesMain() {
				
		PropertyConfigurator.configure("Z:/lotus8/notes/jvm/lib/ext/log4j.properties");		
		logger = Logger.getLogger("SMCTest");
	        ...
        }
}

Was nicht wirklich schön ist, da ich mich jetzt noch um einen Pfad mehr kümmern respektive verwalten muss, da dieser natürlich auf meiner lokalen Maschine nicht dem auf dem Dev-Server und auch nicht dem auf dem Produktions-Server entspricht.

Jetzt suche ich bloss noch eine Möglichkeit, wie ich das "./jvm/lib/ext/" Verzeichnis innerhalb des Agents auslesen kann um mir den Verwaltungsaufwand der verschiedenen Pfade zu ersparen.

Oder eben ganz generell. Dem Domino irgendwie mitteilen zu können, dass er im Verzeichnis ./jvm/lib/ext nach der log4j.properties Datei suchen soll.

Tipps? Immer gerne.  ;)
Notes R8.5.2 FP3
Server  R8.5.2 FP3

Windows 2008
Windows 7
Linux-Mint LMXDE

Lieber unvollkommen als total fertig.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz