IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Configuration log4j.xml - console et fileAppender


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut Configuration log4j.xml - console et fileAppender
    Salut,

    J'essaie de configurer mes logs avec log4j. Je voudrais dans un premier temps une sortie console, et une autre dans un fichier log

    Pour ce faire, j'ai déclaré dans mon web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	<servlet>
        <servlet-name>log4j-init</servlet-name>
        <servlet-class>com.test.servlets.Log4jInit</servlet-class>
     
        <init-param>
          <param-name>log4j-init-file</param-name>
          <param-value>WEB-INF/classes/log4j.xml</param-value>
        </init-param>
     
        <load-on-startup>1</load-on-startup>
      </servlet>
    une servlet Log4jInit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.log4j.PropertyConfigurator;
     
    public class Log4jInit extends HttpServlet {
     
    	/**
             * serialVersionUID
             */
    	private static final long serialVersionUID = -5229377874794556432L;
     
    	public
    	void init() {
    		String prefix =  getServletContext().getRealPath("/");
    		String file = getInitParameter("log4j-init-file");
    		// if the log4j-init-file is not set, then no point in trying
    		if(file != null) {
    			PropertyConfigurator.configure(prefix+file);
    		}
    	}
     
    	public void doGet(HttpServletRequest req, HttpServletResponse res) {
     
    	}
    }
    Mon log4j.xml ressemble à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    	<appender name="CA" class="org.apache.log4j.ConsoleAppender">
    		<layout class="org.apache.log4j.PatternLayout">
    			<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
    		</layout>
    	</appender>
    	<appender name="FA" class="org.apache.log4j.FileAppender">
    		<param name="File" value="c:\sample.log"/>
    		<param name="Threshold" value="WARN"/>
    		<layout class="org.apache.log4j.PatternLayout">
    			<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
    		</layout>
    	</appender>
    	<root>
    		<level value="DEBUG" />
    		<appender-ref ref="CA" />
    		<appender-ref ref="FA" />
    	</root>
    </log4j:configuration>
    et l'usage que j'en fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	private static Logger logger = Logger.getLogger(Language.class);
     
    		logger.debug("Sample debug message");
    		logger.info("Sample info message");
    		logger.warn("Sample warn message");
    Cela marche en console, mais je n'ai rien dans mon fichier de log.
    Si quelqu'un voit le problème, je suis à l'écoute.

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    au final, mon souci est plus con.
    Si je donne le path en entier, cela passe.
    Cela foire si je mets une variable.

    <param name="File" value="$CATALINA_BASE/logs/application-console.log"/>

    Est ce que quelqu'un voit ce qui cloche
    Comment checker que CATALINA_BASE existe bien

    p.s.
    resolu probleme de droit d'accès sur le serveur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Log4J / Débutant] Configuration du fichier log4j.xml
    Par peofofo dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 03/08/2011, 14h23
  2. Problème de configuration de log4j.xml
    Par menzlitsh dans le forum Logging
    Réponses: 6
    Dernier message: 24/04/2009, 13h21
  3. Configuration du log4j.xml
    Par bobspike dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 18/06/2008, 10h05
  4. [Log4j] Configurer Log4j avec un fichier xml
    Par supermanu dans le forum Logging
    Réponses: 10
    Dernier message: 16/07/2007, 11h03
  5. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo