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 |
打开调试配置窗口,输入变量的值