0
|
1 package nabble.utils;
|
|
2
|
|
3 import java.io.IOException;
|
|
4
|
|
5 import fschmidt.util.log4j.MultiAppender;
|
|
6 import org.apache.log4j.Appender;
|
|
7 import org.apache.log4j.LogManager;
|
|
8 import org.apache.log4j.Logger;
|
|
9 import org.apache.log4j.PatternLayout;
|
|
10 import org.apache.log4j.ConsoleAppender;
|
|
11 import org.apache.log4j.FileAppender;
|
|
12 import org.apache.log4j.Level;
|
|
13 import org.apache.log4j.RollingFileAppender;
|
|
14
|
|
15
|
|
16 public final class Log4j {
|
|
17
|
|
18 private static final PatternLayout LAYOUT = new PatternLayout("%d | %-5p | %c - %m%n");
|
|
19
|
|
20 public static void initForConsole() {
|
|
21 Logger.getRootLogger().setLevel(Level.INFO);
|
|
22 PatternLayout layout = new PatternLayout("%d{HH:mm:ss} %-5p %c - %m%n");
|
|
23 ConsoleAppender appender = new ConsoleAppender(layout,"System.err");
|
|
24 Logger.getRootLogger().addAppender(appender);
|
|
25 }
|
|
26
|
|
27 public static void initForFile(Level level, String fileName)
|
|
28 throws IOException
|
|
29 {
|
|
30 Logger.getRootLogger().setLevel(level);
|
|
31 PatternLayout layout = new PatternLayout("%d | %-5p | %c - %m%n");
|
|
32 FileAppender appender = new FileAppender(layout,fileName);
|
|
33 Logger.getRootLogger().addAppender(appender);
|
|
34 }
|
|
35
|
|
36 public static void initBasicFiles(String infoFile, String warnFile, String errorFile, String maxFileSize)
|
|
37 throws IOException
|
|
38 {
|
|
39 LogManager.getLoggerRepository().setThreshold(Level.INFO);
|
|
40
|
|
41 RollingFileAppender infoAppender = new RollingFileAppender(LAYOUT, infoFile);
|
|
42 infoAppender.setMaxFileSize(maxFileSize);
|
|
43 infoAppender.setThreshold(Level.INFO);
|
|
44
|
|
45 RollingFileAppender warnAppender = new RollingFileAppender(LAYOUT, warnFile);
|
|
46 warnAppender.setMaxFileSize(maxFileSize);
|
|
47 warnAppender.setThreshold(Level.WARN);
|
|
48
|
|
49 RollingFileAppender errorAppender = new RollingFileAppender(LAYOUT, errorFile);
|
|
50 errorAppender.setMaxFileSize(maxFileSize);
|
|
51 errorAppender.setThreshold(Level.ERROR);
|
|
52
|
|
53 MultiAppender appender = new MultiAppender(new Appender[] { infoAppender, warnAppender, errorAppender });
|
|
54 Logger.getRootLogger().addAppender(appender);
|
|
55 }
|
|
56
|
|
57 public static void initForClass(String className, String fileName, String maxFileSize)
|
|
58 throws IOException
|
|
59 {
|
|
60 Logger logger = Logger.getLogger(className);
|
|
61 RollingFileAppender appender = new RollingFileAppender(LAYOUT, fileName);
|
|
62 appender.setMaxFileSize(maxFileSize);
|
|
63 logger.addAppender(appender);
|
|
64 }
|
|
65
|
|
66 private Log4j() {} // never
|
|
67 }
|