Skip to content

Commit 933523a

Browse files
author
ansj
committed
add log4j2 support
1 parent 681a69c commit 933523a

File tree

4 files changed

+65
-24
lines changed

4 files changed

+65
-24
lines changed

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ dependencies {
3333
//log
3434
//support old version
3535
compile 'log4j:log4j:1.2.16'
36-
compile 'org.slf4j:slf4j-log4j12:1.6.1'
3736
//new version use log
3837
compile 'org.slf4j:slf4j-api:1.7.21'
3938
compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.6.2'

src/main/java/Bootstrap.java

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ public static void main(String[] args) throws Exception {
8484
context.setContextPath("/");
8585
context.setServer(server);
8686
context.setMaxFormContentSize(0);
87-
context.setServerClasses(new String[] {
88-
"org.objectweb.asm.", // hide asm used by jetty
87+
context.setServerClasses(new String[] { "org.objectweb.asm.", // hide asm used by jetty
8988
"org.eclipse.jdt.", // hide jdt used by jetty
9089
"-org.eclipse.jetty." // hide other jetty classes
9190
});
@@ -126,32 +125,47 @@ public static void main(String[] args) throws Exception {
126125
}
127126

128127
/**
129-
* config log4j setting
128+
* config log4j2 setting
130129
*
131130
* @param logPath
132131
* @throws IOException
133132
* @throws FileNotFoundException
134133
*/
135-
private static void createLog4jConfig(File log4jFile, String logPath) throws FileNotFoundException, IOException {
134+
private static void createLog4j2Config(File log4jFile, String logPath) throws FileNotFoundException, IOException {
136135

137136
if (log4jFile.exists()) {
138137
return;
139138
}
140139

141-
StringBuilder sb = new StringBuilder();
142-
143-
sb.append("log4j.rootLogger=info, stdout,R\n" + "log4j.appender.stdout.Encoding=utf-8\n" + "log4j.appender.R.Encoding=utf-8\n"
144-
+ "log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n" + "log4j.appender.stdout.layout=org.apache.log4j.PatternLayout \n"
145-
+ "log4j.appender.stdout.layout.ConversionPattern=%c-%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n\n" + "\n"
146-
+ "log4j.appender.R=org.apache.log4j.DailyRollingFileAppender\n" + "log4j.appender.R.File=");
147-
148-
sb.append(logPath);
149-
150-
sb.append("\n" + "log4j.appender.R.DatePattern = '.'yyyy-MM-dd\n" + "log4j.appender.R.layout=org.apache.log4j.PatternLayout\n"
151-
+ "log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss} %c{1} %-5p %m%n\n" + "\n" + "## Disable other log \n"
152-
+ "log4j.logger.org.atmosphere.cpr.AsynchronousProcessor=FATAL");
153-
154-
wirteFile(log4jFile.getAbsolutePath(), "utf-8", sb.toString());
140+
String logTemplate = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
141+
"<Configuration status=\"INFO\">\n" +
142+
" <properties>\n" +
143+
" <property name=\"LOG_PATH\">{{LOG_PATH}}</property>\n" +
144+
" </properties>\n" +
145+
" <Appenders>\n" +
146+
" <Console name=\"Console\" target=\"SYSTEM_OUT\">\n" +
147+
" <PatternLayout pattern=\"%c-%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n\" />\n" +
148+
" </Console>\n" +
149+
" <RollingRandomAccessFile name=\"File\"\n" +
150+
" fileName=\"${LOG_PATH}\" filePattern=\"${LOG_PATH}.-%d{yyyyMMddHHmm}-%i\">\n" +
151+
" <PatternLayout pattern=\"%d{HH:mm:ss} %c{1} %-5p %m%n\" />\n" +
152+
" <Policies>\n" +
153+
" <TimeBasedTriggeringPolicy interval=\"10\" />\n" +
154+
" <SizeBasedTriggeringPolicy size=\"1024 MB\" />\n" +
155+
" </Policies>\n" +
156+
" <DefaultRolloverStrategy max=\"50\" />\n" +
157+
" </RollingRandomAccessFile>\n" +
158+
" </Appenders>\n" +
159+
" <Loggers>\n" +
160+
" <Root level=\"info\">\n" +
161+
" <AppenderRef ref=\"Console\" />\n" +
162+
" <AppenderRef ref=\"File\" />\n" +
163+
" </Root>\n" +
164+
" </Loggers>\n" +
165+
"</Configuration>\n" +
166+
"" ;
167+
168+
wirteFile(log4jFile.getAbsolutePath(), "utf-8", logTemplate.replace("{{LOG_PATH}}", logPath));
155169

156170
}
157171

@@ -236,7 +250,7 @@ private static void makeFiles(File JcoderHome, String logPath) throws FileNotFou
236250
wirteFile(iocFile.getAbsolutePath(), "utf-8", "var ioc = {\n\n};");
237251
}
238252

239-
createLog4jConfig(new File(resourceDir, "log4j.properties"), logPath);
253+
createLog4j2Config(new File(resourceDir, "log4j2.xml"), logPath);
240254
}
241255

242256
/**

src/test/java/cn/com/infcn/api/test/TestApi.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package cn.com.infcn.api.test;
22

3-
import org.apache.log4j.Logger;
43
import org.nlpcn.jcoder.filter.TokenFilter;
54
import org.nlpcn.jcoder.run.annotation.Execute;
65
import org.nutz.ioc.loader.annotation.Inject;
76
import org.nutz.mvc.annotation.By;
87
import org.nutz.mvc.annotation.Filters;
98
import org.nutz.mvc.annotation.Param;
9+
import org.slf4j.Logger;
1010

1111
/**
1212
* 测试api
@@ -20,9 +20,11 @@ public class TestApi {
2020
private Logger log;
2121

2222
@Execute
23-
@Filters(@By(type=TokenFilter.class))
24-
public String test(@Param("_name") String name) {
25-
return name;
23+
public String test() {
24+
for (int i = 0; i < 100; i++) {
25+
log.info(""+i);
26+
}
27+
return "ok" ;
2628
}
2729

2830
}

src/test/resources/log4j2.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="INFO">
3+
<properties>
4+
<property name="LOG_PATH">log/jcoder.log</property>
5+
</properties>
6+
<Appenders>
7+
<Console name="Console" target="SYSTEM_OUT">
8+
<PatternLayout pattern="%c-%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n" />
9+
</Console>
10+
<RollingRandomAccessFile name="File"
11+
fileName="${LOG_PATH}" filePattern="${LOG_PATH}.-%d{yyyyMMddHHmm}-%i">
12+
<PatternLayout pattern="%d{HH:mm:ss} %c{1} %-5p %m%n" />
13+
<Policies>
14+
<TimeBasedTriggeringPolicy interval="10" />
15+
<SizeBasedTriggeringPolicy size="1024 MB" />
16+
</Policies>
17+
<DefaultRolloverStrategy max="50" />
18+
</RollingRandomAccessFile>
19+
</Appenders>
20+
<Loggers>
21+
<Root level="info">
22+
<AppenderRef ref="Console" />
23+
<AppenderRef ref="File" />
24+
</Root>
25+
</Loggers>
26+
</Configuration>

0 commit comments

Comments
 (0)