Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
...
We should not use the following to print out log in writing our own plugins.
Code Block | ||
---|---|---|
| ||
System.out.println("Execution is successful"); |
...
Instead, we should make use of these methods provided by LogUtil. Check out the sample codes used by Email Tool (Source code: https://github.com/jogetworkflow/jw-community/blob/6.0-SNAPSHOT/wflow-core/src/main/java/org/joget/apps/app/lib/EmailTool.java#L227)
Code Block | ||
---|---|---|
| ||
LogUtil.info(EmailTool.class.getName(), "EmailTool: Sending email from=" + email.getFromAddress().toString() + ", to=" + to + "cc=" + cc + ", bcc=" + bcc + ", subject=" + email.getSubject()); LogUtil.info(EmailTool.class.getName(), "EmailTool: Sending email completed for subject=" + email.getSubject()); LogUtil.error(EmailTool.class.getName(), ex, ""); |
...
Navigate to the "[JogetFolder]\apache-tomcat-8.5.23\webapps\jw\WEB-INF\classes\log4j.properties" configuration file and check out the use of R2 tag to see how EmailTool, UserNotificationAuditTrail, and ExportFormEmailTool are writing into email.log file.
Code Block | ||||
---|---|---|---|---|
| ||||
log4j.logger.org.joget.apps.app.lib.EmailTool=DEBUG, R2 log4j.logger.org.joget.apps.app.lib.UserNotificationAuditTrail=DEBUG, R2 log4j.logger.org.joget.plugin.enterprise.ExportFormEmailTool=DEBUG, R2 # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender # A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-5p %d{dd MMM yyyy HH:mm:ss} %c %x - %m%n # R is set to be DailyRollingFileAppender log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=${catalina.home}/logs/joget.log log4j.appender.R.DatePattern='.'yyyyMMdd log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%-5p %d{dd MMM yyyy HH:mm:ss} %c %x - %m%n # R2 is set to be DailyRollingFileAppender log4j.appender.R2=org.apache.log4j.DailyRollingFileAppender log4j.appender.R2.File=${catalina.home}/logs/email.log log4j.appender.R2.DatePattern='.'yyyyMMdd log4j.appender.R2.layout=org.apache.log4j.EnhancedPatternLayout log4j.appender.R2.layout.ConversionPattern=%-5p %d{dd MMM yyyy HH:mm:ss} %-50c - %m%throwable{0}%n |
In the section above, we talked about using LogUtil to write into the log file. When we have too many apps running in the same copy of Joget, sometimes it is hard to tell where certain line of messages come from which apps.
We can consider to LogRotate the log files. Please see the following links:-
As for joget.log, we are already using Log4J for rotation as seen in the log4j.properties file snippet above.