11 | log4j.logger.org.langke.core=INFO,rest-nettyserver
12 | 这里的包名跟项目包名对上就可以了
13 |
14 | 2.客户端配置参考:doc/log4j.properties
15 | 主要就是把下列配置加到各个服务器的log4j.properties
16 | rootLogger加下SOCKET_CLIENT
17 |
18 | log4j.rootLogger=INFO,SOCKET_CLIENT
19 |
20 | #remote logging
21 | log4j.appender.SOCKET_CLIENT = org.apache.log4j.net.SocketAppender
22 | log4j.appender.SOCKET_CLIENT.RemoteHost = log4server
23 | log4j.appender.SOCKET_CLIENT.Port = 5001
24 | log4j.appender.SOCKET_CLIENT.LocationInfo = true
25 |
26 | 这里log4server是指向log4server服务器host,需要配置hosts文件,或者直接用ip
--------------------------------------------------------------------------------
/bin/restart_server.bat:
--------------------------------------------------------------------------------
1 | @setlocal enabledelayedexpansion
2 | @set classpath=.
3 | @for %%c in (..\lib\*.jar) do @set classpath=!classpath!;%%c
4 | @for %%c in (..\bin\*.jar) do @set classpath=!classpath!;%%c
5 | @set DEFAULT_OPTS=-server -Xms3M -Xmx10M
6 |
7 | # process
8 | @set PNAME=org.apache.log4j.net.SocketServer
9 | @set PORT=5001
10 | @set configFile=../conf/log4jserver.properties
11 | @set configDir=../conf/
12 |
13 | java -cp "%classpath%" %DEFAULT_OPTS% %PNAME% %PORT% %configFile% %configDir% %*
14 |
--------------------------------------------------------------------------------
/bin/restart_server.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #if [ "`whoami`" != "root" ] ; then
3 | # echo
4 | # echo Must start use root
5 | # echo
6 | # exit 1
7 | #fi
8 |
9 | DIRNAME=/usr/bin/dirname
10 | BASE_PATH=`$DIRNAME $0`
11 | cd $BASE_PATH
12 | echo `pwd`
13 |
14 | #export PATH=/usr/local/jdk1.6.0_26/bin:$PATH
15 |
16 | for i in ./*.jar; do
17 | CLASSPATH=$i:$CLASSPATH;
18 | done
19 |
20 | for j in ../lib/*.jar; do
21 | CLASSPATH=$j:$CLASSPATH;
22 | done
23 |
24 | SEARCH_VER=9
25 | DEFAULT_OPTS="-server -Xms3M -Xmx10M -Xss128k"
26 | DEFAULT_OPTS="$DEFAULT_OPTS -Dcom.sun.management.jmxremote.port=89${SEARCH_VER}6"
27 | DEFAULT_OPTS="$DEFAULT_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
28 | DEFAULT_OPTS="$DEFAULT_OPTS -Dcom.sun.management.jmxremote.ssl=false"
29 | DEBUG_INFO=" -Xdebug -Xrunjdwp:transport=dt_socket,address=1527${SEARCH_VER},server=y,suspend=n "
30 | DEBUG=""
31 | case $1 in
32 | "debug") DEBUG=${DEBUG_INFO};;
33 | esac;
34 | shift;
35 | PNAME=org.apache.log4j.net.SocketServer
36 | if test $(pgrep -f ${PNAME}|wc -l) -ne 0;then
37 | echo "closing...... $PNAME"
38 | pkill -f $PNAME
39 | sleep 2
40 | fi
41 |
42 |
43 | # process
44 | PORT=5001
45 | configFile=../conf/log4jserver.properties
46 | configDir=../conf/
47 | CMD="java -cp $CLASSPATH ${DEBUG} $DEFAULT_OPTS ${PNAME} ${PORT} ${configFile} ${configDir} > /dev/null 2>&1 &"
48 |
49 | eval $CMD
50 | echo "start ~~ $CMD"
51 | echo "as pid:`pgrep -f ${PNAME}`"
52 |
53 |
--------------------------------------------------------------------------------
/bin/stop-server.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | DIRNAME=/usr/bin/dirname
4 | BASE_PATH=`$DIRNAME $0`
5 | cd $BASE_PATH
6 | echo `pwd`
7 |
8 | #export PATH=/usr/local/jdk1.6.0_26/bin:$PATH
9 |
10 | PNAME=org.apache.log4j.net.SocketServer
11 | if test $(pgrep -f ${PNAME}|wc -l) -ne 0;then
12 | echo "closing...... $PNAME"
13 | pkill -f $PNAME
14 | sleep 2
15 | fi
16 |
17 |
18 | # process
19 | PORT=5001
20 | echo `ps aux|grep ${PNAME}`
21 |
22 |
--------------------------------------------------------------------------------
/conf/generic.lcf:
--------------------------------------------------------------------------------
1 | log.dir=../logs
2 |
3 | log4j.rootLogger=INFO,globalfile
4 | #log4j.rootCategory=INFO,globalfile
5 | log4j.appender.globalfile=org.apache.log4j.DailyRollingFileAppender
6 | log4j.appender.globalfile.DatePattern='.'yyyy-MM-dd
7 | log4j.appender.globalfile.encoding=UTF-8
8 | log4j.appender.globalfile.File=${log.dir}/global.log
9 | log4j.appender.globalfile.layout=org.apache.log4j.PatternLayout
10 | log4j.appender.globalfile.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
11 |
12 | log4j.logger.org.langke.core=INFO,rest-nettyserver
13 | log4j.appender.rest-nettyserver=org.apache.log4j.DailyRollingFileAppender
14 | log4j.appender.rest-nettyserver.DatePattern='.'yyyy-MM-dd
15 | log4j.appender.rest-nettyserver.encoding=UTF-8
16 | log4j.appender.rest-nettyserver.File=${log.dir}/rest-nettyserver.log
17 | log4j.appender.rest-nettyserver.layout=org.apache.log4j.PatternLayout
18 | log4j.appender.rest-nettyserver.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
19 |
20 | log4j.logger.org.langke.user=INFO,user
21 | log4j.appender.user=org.apache.log4j.DailyRollingFileAppender
22 | log4j.appender.user.DatePattern='.'yyyy-MM-dd
23 | log4j.appender.user.encoding=UTF-8
24 | log4j.appender.user.File=${log.dir}/user.log
25 | log4j.appender.user.layout=org.apache.log4j.PatternLayout
26 | log4j.appender.user.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
27 |
--------------------------------------------------------------------------------
/conf/log4jserver.properties:
--------------------------------------------------------------------------------
1 | logServer.log.dir=../logs
2 | logServer.log.file=log4jserver.log
3 |
4 | log4j.logger.org.apache.log4j.net.SocketServer=DEBUG,serverFile
5 | log4j.additivity.org.apache.log4j.net.SocketServer=false
6 | log4j.appender.serverFile=org.apache.log4j.RollingFileAppender
7 | #log4j.appender.serverFile.DatePattern='.'yyyy-MM-dd
8 | log4j.appender.serverFile.encoding=UTF-8
9 | log4j.appender.serverFile.File=${logServer.log.dir}/${logServer.log.file}
10 | log4j.appender.serverFile.layout=org.apache.log4j.PatternLayout
11 | log4j.appender.serverFile.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
12 |
--------------------------------------------------------------------------------
/doc/log4j.properties:
--------------------------------------------------------------------------------
1 | ############################################################
2 | # Define some default values that can be overridden by system properties
3 | log.dir=../logs
4 | log.file=rest-nettyserver.log
5 |
6 | log4j.rootLogger=INFO,console,DRFA,SOCKET_CLIENT
7 |
8 | # Logging Threshold
9 | log4j.threshhold=ALL
10 |
11 | # Custom Logging levels
12 |
13 | log4j.logger.org.apache.hadoop=INFO
14 | #remote logging
15 | log4j.appender.SOCKET_CLIENT = org.apache.log4j.net.SocketAppender
16 | log4j.appender.SOCKET_CLIENT.RemoteHost = 10.10.10.10
17 | log4j.appender.SOCKET_CLIENT.Port = 5001
18 | log4j.appender.SOCKET_CLIENT.LocationInfo = true
19 | #
20 | # Daily Rolling File Appender
21 | #
22 | log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
23 | log4j.appender.DRFA.File=${log.dir}/${log.file}
24 |
25 | # Rollver at midnight
26 | log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
27 |
28 | # 30-day backup
29 | #log4j.appender.DRFA.MaxBackupIndex=30
30 | log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
31 |
32 | # Pattern format: Date LogLevel LoggerName LogMessage
33 | log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
34 |
35 | # Debugging Pattern format
36 | #log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
37 |
38 |
39 | #
40 | # console
41 | # Add "console" to rootlogger above if you want to use this
42 | #
43 | log4j.appender.console=org.apache.log4j.ConsoleAppender
44 | log4j.appender.console.target=System.err
45 | log4j.appender.console.layout=org.apache.log4j.PatternLayout
46 | log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c{2}: %m%n
47 |
--------------------------------------------------------------------------------
/lib/commons-logging-1.1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/langke93/log4server/5c99083da610fb2ff36beb8b5e8999a49eda64bb/lib/commons-logging-1.1.1.jar
--------------------------------------------------------------------------------
/lib/log4j-1.2.15.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/langke93/log4server/5c99083da610fb2ff36beb8b5e8999a49eda64bb/lib/log4j-1.2.15.jar
--------------------------------------------------------------------------------