Bonjour à tous,

Je voudrais créer un ejb (mon premier ) qui me log des informations sur mon serveur. Je voudrais utiliser l'API Log4J. Je travaille sur éclipse, j'ai donc créer un "Entreprise Application Projet".

Voici la code du Session Bean:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.net.URL;
 
import javax.annotation.PostConstruct;
import javax.ejb.LocalBean;
import javax.ejb.Singleton;
import javax.ejb.Startup;
 
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
 
/**
 * Session Bean implementation class Log4jStartupBean
 */
@Singleton
@LocalBean
@Startup
public class Log4jStartupBean {
 
	private static final String LOG4J_XML = "/log4j.xml";
	private Logger logger = null;
 
	/**
         * Default constructor.
         */
	public Log4jStartupBean() {
 
	}
 
	@PostConstruct
	public void startup() {
 
		URL url = this.getClass().getResource(LOG4J_XML);
 
		if(url==null || url.getFile().length()==0){
			throw new RuntimeException("Log4j config file "+ LOG4J_XML +" not found");
		}
 
		DOMConfigurator.configure(url);
		logger = Logger.getLogger(this.getClass());
		logger.info("logger initialized with " + LOG4J_XML + "...");
	}
 
	public void shutdown(){
		logger.info("logger initialized with "+ LOG4J_XML + " shutdown");
	}
Ce code est inspiré de ce blog

Mon problème est que lorsque je lance mon serveur, mon EJB démarre, mais j'ai une erreur
Tout d'abord, je tiens à signaler que je n'ai pas du tout la même architecture que celle présenté dans le blog; Ensuite j'ai essayé de changer plusieurs fois le path du fichier ou alors de déplacer le fichier dans différents répertoires (META-INF par exemple) mais sans succès.

Pouvez vous me dire d'où vient mon erreur?

Merci d'avance