changeset 178:7f4d8d228a9b

add log4j2
author akahori
date Fri, 01 Feb 2019 19:26:51 +0900
parents 452838ca599a
children d33253240018
files build.gradle src/main/java/christie/daemon/Config.java src/main/resources/log4j2.xml
diffstat 3 files changed, 45 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/build.gradle	Fri Feb 01 12:33:00 2019 +0900
+++ b/build.gradle	Fri Feb 01 19:26:51 2019 +0900
@@ -19,8 +19,8 @@
     //compile group: 'org.msgpack', name: 'msgpack-core', version: '0.8.16'
     //compile group: 'org.msgpack', name: 'jackson-dataformat-msgpack', version: '0.8.16'
     compile group: 'org.msgpack', name: 'msgpack', version: '0.6.12'
-
-
+    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'
+    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.1'
 }
 
 jar {
@@ -28,6 +28,7 @@
     manifest {
         attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
     }
+
     from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
     archiveName = 'Christie.jar'
 }
--- a/src/main/java/christie/daemon/Config.java	Fri Feb 01 12:33:00 2019 +0900
+++ b/src/main/java/christie/daemon/Config.java	Fri Feb 01 19:26:51 2019 +0900
@@ -1,12 +1,19 @@
 package christie.daemon;
 
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 public class Config {
 
     public int localPort = 10000;
     public String logFile = null;
     public String MCSTADDR = "224.0.0.1";
+    public Level level = Level.FATAL;
     public String nis = "en1";
     public boolean useKeepAlive = true;
+    Logger logger = LogManager.getLogger(Config.class);
+
 
     public Config(String[] args) {
         for (int i = 0; i< args.length; i++) {
@@ -20,6 +27,24 @@
                 useKeepAlive = false;
             } else if ("-a".equals(args[i])) {
                 MCSTADDR = args[++i];
+            } else if ("--level".equals(args[i])) {
+                String levelStr = args[++i];
+                if (levelStr.equals("fatal")) {
+                    level = Level.FATAL;
+                    logger.info("Level FATAL");
+                } else if (levelStr.equals("error")) {
+                    level = Level.ERROR;
+                    logger.info("Level ERROR");
+                } else if (levelStr.equals("warn")) {
+                    level = Level.WARN;
+                    logger.info("Level WARN");
+                } else if (levelStr.equals("info")) {
+                    level = Level.INFO;
+                    logger.info("Level INFO");
+                } else if (levelStr.equals("debug")) {
+                    level = Level.DEBUG;
+                    logger.info("Level DEBUG");
+                }
             }
         }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/resources/log4j2.xml	Fri Feb 01 19:26:51 2019 +0900
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d %-5p %c - %m [%t] (%F:%L)%n" />
+        </Console>
+        <File name="File" fileName="christie.log">
+            <PatternLayout pattern="%d %-5p %c - %m [%t] (%F:%L)%n" />
+        </File>
+    </Appenders>
+    <Loggers>
+        <Root level="debug">
+            <AppenderRef ref="Console" />
+            <AppenderRef ref="File"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file