Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Java Agent mit log4j debuggen - Bloss wie?

(1/1)

hampa:
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 {

                }
        }
}
--- Ende Code ---
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
--- Ende Code ---
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

hampa:
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");
        ...
        }
}
--- Ende Code ---

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.  ;)

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln