1.新建一个java project,在src下新建一个lib文件夹和 rescources 文件夹,resources文件夹不能命名错误。

点击File——》project Structure…打开根据下图操作


把相关jar包放进lib文件夹里并绑定。

新建一个java文件 Log4jTest.java 和 HadoopLog4j.java

|
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
|
package com.km.log4j;import org.apache.log4j.DailyRollingFileAppender;import org.apache.log4j.Logger;import org.apache.log4j.PatternLayout;/** * Created by 166 on 2017/7/27. */public class Log4jTest { public static void main(String[] args) { customLog4j(args[0]); } /** * control configuration file */ private static void customLog4j(String num){ Logger logger = Logger.getLogger(Log4jTest.class); for (int i=0;i<Integer.parseInt(num);i++){ try { Thread.sleep(200); logger.info("this is a test"); } catch (InterruptedException e) { e.printStackTrace(); } } } |
新建一个
|
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
|
package com.km.log4j;import org.apache.log4j.AppenderSkeleton;import org.apache.log4j.spi.LoggingEvent;/** * Created by 166 on 2017/7/28. */public class HadoopLog4j extends AppenderSkeleton{ private String context; public String getContext() { return context; } public void setContext(String context) { this.context = context; } @Override protected void append(LoggingEvent loggingEvent) { System.out.println(String.format("hadoop log4j text ------------>%s",context)); } @Override public void close() { } @Override public boolean requiresLayout() { return false; }} |
在resources文件夹下新建一个log4j.properties配置文件

|
1
2
3
4
5
6
|
#Set custom logger level to INFO and its only appender to hadoop.#log4j.logger指定你按哪个包打日志log4j.logger.com.km.log4j.Log4jTest=INFO,hadoop //log4j.logger.包名.类 = 日志等级,输出打印位置log4j.appender.hadoop=com.km.log4j.HadoopLog4j //log4j.appender.打印输出位置=appender的实现类(常用DailyRollingFileAppender)log4j.appender.hadoop.context=OK //context调用appender实现类的setContext,设置传入参数为OK |
打开调试配置窗口,输入变量的值





















