Affichage des articles dont le libellé est log4j. Afficher tous les articles
Affichage des articles dont le libellé est log4j. Afficher tous les articles

lundi 29 novembre 2010

Externaliser la configuration de ses webapp

Dans les webapps utilisant spring il est possible d'externaliser sa configuration à l'aide de variables d'environnement pour log4j :

<bean id="log4jConfigurer"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass">
<value>org.springframework.util.Log4jConfigurer</value>
</property>
<property name="targetMethod">
<value>initLogging</value>
</property>
<property name="arguments">
<list>
<value>${MYREP_CONF}/log4j.xml</value>
<!-- or you could use an absolute path: <value>file:D:\\etc\\myapp\\log4j.properties</value> -->
</list>
</property>
</bean>

mardi 16 décembre 2008

Faire un appender suffixé par la date

Cette classe permet de faire un appender qui suffixe la date.
package myprog.util;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.FileAppender;

public class DateFileAppender extends FileAppender {

private String datePattern = "yyyyMMddhhmm";

public void setFile(String strFile) {
String strDate;
SimpleDateFormat sdf;

if (datePattern!=null && strFile!=null) {
sdf = new SimpleDateFormat(datePattern);
strDate = sdf.format(new Date());
fileName = strFile.replaceAll("%date%", strDate);
} else {
System.err.println("Either File or DatePattern options are not set for appender [" + name + "].");
}
}

public String getDatePattern() {
return datePattern;
}

public void setDatePattern(String datePattern) {
this.datePattern = datePattern;
}
}



Pour l'utiliser dans le fichier log4j

log4j.appender.F1=myprog.util.DateFileAppender
log4j.appender.F1.File=log/extract-generated-%date%.log
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%m%n

jeudi 28 février 2008

Journalisation distante avec log4j

La journalisation distante est particulièrement utile pour voir les log dans les environnement de recette et/ou de production.
Sur log4j on ajoute un traceur remote.


log4j.rootLogger=INFO, stdout, REMOTE

log4j.appender.REMOTE=org.apache.log4j.net.SocketAppender
log4j.appender.REMOTE.RemoteHost=mydisplayloghost
log4j.appender.REMOTE.Port=4560




Chainsaw est le client. Il faut créer un SocketReceiver.

Téléchargable à cette URL : http://logging.apache.org/chainsaw/download.html