Xmlsh uses the Log4J subsystem for logging.
On startup, xmlsh checks to see if Log4J has previously been initialized, and if so no action is taken.
If the environment variable XLOG4JPATH is set then it is used as the path to a log4j configuration file.
If no XLOG4JPATH is not set or if the file cannot be parsed then the following is used to choose a file to log.
- if XLOGFILE is specified then it is used as the log file.
- if the java user.home system property is set then xmlsh.log in that directory is used
- if the java user.dir system property is set then xmlsh.log in that directory is used
If a file is is found to log then a simple FileAppender is used for logging to that file. If the logfile cannot be written the logging is disabled.
If no file is found then the BasicConfigurator is used (which logs to stderr).
If the environment variable XDISABLE_LOGGING is "1" or "true" the logging is disabled.
Filenames should be full paths because a relative path is often not what you expect.
Logging is done for every command executed, as well as stack traces for every exception.
You can explicitly add a log record using the log Command
See Also log command
See Also builtin variables