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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
/**
* Objet logger de journalisation.
* @author michel
* @version 1.0
* @since 8 déc. 06
*/
public abstract class Journal {
public static final Logger logger = Logger.getLogger("RapportDeControle");
/**
* initialiser l'objet logger
*/
public static void initJournal() {
PatternLayout layout = new PatternLayout("%d ; %p ; %t ; %L ; %C ; %m%n");
FileAppender stdout = null;
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yy");
Date maDate = new Date();
String repertoire = "." + File.separatorChar + "journal" + File.separatorChar;
String log = repertoire + dateFormat.format(maDate)+".log";
String err = repertoire + dateFormat.format(maDate)+".flux";
// sortie de la journalisation
try {
stdout = new FileAppender(layout,log);
}
catch (IOException e4) {
JOptionPane.showMessageDialog(null,
"<html><span style='font-weight: none;'><span style='color: rgb(0, 0, 255);'>" +
"L'initialisation de la Journalisation des erreurs est impossible :<br><br></span><span style='color: rgb(255, 0, 0);'>" +
e4+"</span></span></html>",
"Activation de la Journalisation des erreurs",
JOptionPane.ERROR_MESSAGE);
e4.printStackTrace();
}
logger.addAppender(stdout);
logger.setLevel(Level.TRACE); // les levels inférieur ne seront pas journalisés
}
/**
* @param e
* @return le stackTrace sous forme de String
*/
public static String stack(Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
} |