Si vous complétez ainsi le paramètre "fileappender.layout.conversionPattern" vous obtiendrez en plus de l'adresse IP le code de l'utilisateur. Ex :
log4j.appender.fileappender.layout.conversionPattern = %d [%15X{ip.address}][%25X{user.id}] %-5p %c{1} - %m%n
En ajoutant [%64X{virtual.session.id}] vous afficherez l'identifiant de session HRAccess - que l'on peut retrouver dans la table MX10 et dans le fichier stop_watch.log de openhr... Pour avoir l'équivalent sous Apache, ajoutez %{com.hraccess.portal.connection.id}C au LogFormat.
Avec ce paramètre le fichier log est réinitialisé à chaque démarrage de l'application :
log4j.appender.fileappender.append = false
En le modifiant comme ceci il n'est plus écrasé mais daté (pensez a purger les fichiers les plus anciens) :
log4j.appender.fileappender.append = true
log4j.appender.fileappender.datePattern = '.' yyyy-MM-dd
En modifiant le "consoleappender.layout.consoleappender" ce sont les messages renvoyés dans le log général "catalina.out" qui seront concernés :
log4j.appender.consoleappender.layout.conversionPattern=...
Y ajouter ${com.hraccess.webapp.basename} permet d'afficher le nom de l'application source.
En supprimant la sortie "console" les messages de la webapp ne seront plus envoyés dans le catalina.out :
log4j.logger.com.hraccess = info,
Attention : en cas de mise à jour de la politique de journalisation via la console d'administration, le fichier est écrasé et vos mises à jour sont perdues ...
Hi, thanks for the post. I think you should mention that the settings for each log4j.properties are gone when you use the "hr-admin-console" and increase/decrease the log level.
RépondreSupprimerKind regards and thanks for the blog :-)
Thanks for mention my comment... I have another hint for the logs....
RépondreSupprimerWe create a little shell script to have in all webapps the same kind of log file.
The idea is to have INFO to the console so it will available in catalina.out and DEBUG to a separate file.
To achieve this, we deleted all definitions of consoleappend and fileappender, and changed the default to DEBUG.
#!/bin/sh
rm -Rf ../logs/* ../work/* ../webapps/*/WEB-INF/work/* ../webapps/*/WEB-INF/logs/*
dos2unix ../webapps/*/WEB-INF/conf/log4j* > /dev/null 2>&1
# delete all Consoleappender and Fileappender definitions
sed -i '/log4j.appender.consoleappender.*/d' ../webapps/*/WEB-INF/conf/log4j*
sed -i '/log4j.appender.fileappender*/d' ../webapps/*/WEB-INF/conf/log4j*
# Add the consoleappender
sed -i -e "\$alog4j.appender.consoleappender = org.apache.log4j.ConsoleAppender" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.consoleappender.layout = org.apache.log4j.PatternLayout" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.consoleappender.Threshold = INFO " ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.consoleappender.layout.conversionPattern = %d [%-5p] (\${com.hraccess.webapp.basename}) %C{1} %M:%L %m%n" ../webapps/*/WEB-INF/conf/log4j*
# add the fileappender with a DailyROllingFileAppender
sed -i -e "\$alog4j.appender.fileappender = org.apache.log4j.DailyRollingFileAppender" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.File = \${catalina.home}/webapps/\${com.hraccess.webapp.basename}/WEB-INF/logs/\${com.hraccess.webapp.basename}.log" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.MaxFileSize = 20MB" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.MaxBackupIndex = 9" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.DatePattern = '_'yyyy-MM-dd'.log'" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.layout = org.apache.log4j.PatternLayout" ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.Threshold = DEBUG " ../webapps/*/WEB-INF/conf/log4j*
sed -i -e "\$alog4j.appender.fileappender.layout.conversionPattern = %d [%-5p] (\${com.hraccess.webapp.basename}) %C{1} %M:%L %m%n" ../webapps/*/WEB-INF/conf/log4j*
sed -i 's/log4j.logger.com.hraccess *=.*/log4j.logger.com.hraccess = DEBUG, consoleappender, fileappender/g' ../webapps/*/WEB-INF/conf/log4j*
Now we have the following format in catalina.out:
Date Time [LEVEL] (webapp.basename) Class Method:Line Message
e.g.:
2017-12-02 14:42:19,069 [INFO ] (hr-rich-client) com.hraccess.log.ophrc.connection info:220 OPHRC1018 Listing available features ...
This kind of log is only useful on a DEV environment because of performance issues using %C and %L for the PatternLayout!
kind regards
Andreas