log4j 升级到log4j2
This commit is contained in:
+25
-17
@@ -18,30 +18,38 @@
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.5</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.7.5</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.wildfirechat</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.17</version>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.17.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>2.17.0</version>
|
||||
</dependency>
|
||||
<!--用于与slf4j保持桥接-->
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j-impl</artifactId>
|
||||
<version>2.17.0</version>
|
||||
</dependency>
|
||||
<!-- slf4j核心包-->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.25</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.lmax</groupId>
|
||||
<artifactId>disruptor</artifactId>
|
||||
<version>3.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
# Set root logger level to DEBUG and its only appender to A1.
|
||||
#log4j.rootLogger=ERROR, A1
|
||||
#log4j.rootLogger=INFO, stdout, file
|
||||
log4j.rootLogger=INFO, file, messagelog
|
||||
|
||||
log4j.logger.io.moquette=INFO
|
||||
log4j.logger.io.moquette.spi.impl.ProtocolProcessor=INFO
|
||||
log4j.logger.io.moquette.spi.impl.ProtocolProcessorBootstrapper=WARN
|
||||
|
||||
#Protocol parsing
|
||||
log4j.logger.io.moquette.server.netty.NettyMQTTHandler=WARN
|
||||
#log4j.logger.io.moquette.server.netty.NettyMQTTHandler=DEBUG
|
||||
log4j.logger.io.moquette.parser.netty=WARN
|
||||
#Storage server
|
||||
#log4j.logger.io.moquette.spi.impl.subscriptions.SubscriptionsDirectorytory=DEBUG
|
||||
#log4j.logger.io.moquette.spi.impl.HawtDBStorageService=DEBUG
|
||||
|
||||
# stdout appender is set to be a ConsoleAppender.
|
||||
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
#log4j.appender.stdout.Threshold=WARN
|
||||
#log4j.appender.stdout.Threshold=INFO
|
||||
#log4j.appender.stdout.Threshold=DEBUG
|
||||
#log4j.appender.stdout.Threshold=TRACE
|
||||
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
||||
|
||||
#file appender
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.Threshold=INFO
|
||||
log4j.appender.file.File=logs/wildfirechat.log
|
||||
log4j.appender.file.MaxFileSize=10MB
|
||||
log4j.appender.file.MaxBackupIndex=20
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
||||
log4j.appender.file.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} [%t] %-5p %c{1} %L %x - %m%n
|
||||
|
||||
####################################
|
||||
# Message Logger Configuration #
|
||||
#####################################
|
||||
log4j.appender.messagelog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.messagelog.Threshold=WARN
|
||||
log4j.appender.messagelog.File=logs/wildfirechat_messages.log
|
||||
log4j.appender.messagelog.MaxFileSize=100MB
|
||||
log4j.appender.messagelog.MaxBackupIndex=1
|
||||
log4j.appender.messagelog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.messagelog.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} [%t] %-5p %c{1} %L %x - %m%n
|
||||
|
||||
log4j.category.messageLogger=WARN, messagelog
|
||||
|
||||
|
||||
log4j.logger.cn.wildfirechat.push=INFO, push_log
|
||||
log4j.additivity.cn.wildfirechat.push=false
|
||||
log4j.appender.push_log=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.push_log.File=logs/push.log
|
||||
log4j.appender.push_log.Append=true
|
||||
log4j.appender.push_log.MaxFileSize=10MB
|
||||
log4j.appender.push_log.MaxBackupIndex=5
|
||||
log4j.appender.push_log.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.push_log.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] [%t] - %m%n
|
||||
log4j.appender.push_log.encoding=UTF-8
|
||||
|
||||
|
||||
log4j.logger.com.xiaoleilu.loServer=INFO, http_log
|
||||
log4j.additivity.com.xiaoleilu.loServer=false
|
||||
log4j.appender.http_log=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.http_log.File=logs/http.log
|
||||
log4j.appender.http_log.Append=true
|
||||
log4j.appender.http_log.MaxFileSize=10MB
|
||||
log4j.appender.http_log.MaxBackupIndex=5
|
||||
log4j.appender.http_log.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.http_log.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] [%t] - %m%n
|
||||
log4j.appender.http_log.encoding=UTF-8
|
||||
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
|
||||
<!--status="WARN" :用于设置log4j2自身内部日志的信息输出级别,默认是OFF-->
|
||||
<!--monitorInterval="30" :间隔秒数,自动检测配置文件的变更和重新配置本身-->
|
||||
<configuration status="WARN" monitorInterval="60">
|
||||
<Properties>
|
||||
<!--自定义一些常量,之后使用${变量名}引用-->
|
||||
<Property name="MSG_LOG_HOME">./logs</Property>
|
||||
<Property name="logFileName">test.log</Property>
|
||||
<property name="charset">UTF-8</property>
|
||||
<!--自定义的输出格式-->
|
||||
<property name="pattern">%d %-5p [%t] %C{2} (%F:%L) - %m%n</property>
|
||||
</Properties>
|
||||
<!--appenders:定义输出内容,输出格式,输出方式,日志保存策略等,常用其下三种标签[console,File,RollingFile]-->
|
||||
<appenders>
|
||||
<!--console :控制台输出的配置-->
|
||||
<console name="Console" target="SYSTEM_OUT">
|
||||
<!--PatternLayout :输出日志的格式,LOG4J2定义了输出代码,详见第二部分-->
|
||||
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
|
||||
</console>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileInfo" immediateFlush="false"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<!-- <TimeBasedTriggeringPolicy interval="6" modulate="true"/>-->
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileWarn" immediateFlush="true"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat_warn.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat_warn.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat_warn.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileError" immediateFlush="true"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat_error.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat_error.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat_error.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
</appenders>
|
||||
|
||||
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
|
||||
<loggers>
|
||||
<!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
|
||||
<!--Logger节点用来单独指定日志的形式,name为包路径,比如要为org.springframework包下所有日志指定为INFO级别等。 -->
|
||||
<!-- <logger name="org.springframework" level="INFO"></logger>-->
|
||||
<!-- <logger name="org.mybatis" level="INFO"></logger>-->
|
||||
<!-- Root节点用来指定项目的根日志,如果没有单独指定Logger,那么就会默认使用该Root日志输出 -->
|
||||
<root level="INFO">
|
||||
<appender-ref ref="Console"/>
|
||||
<appender-ref ref="RollingFileInfo"/>
|
||||
<appender-ref ref="RollingFileWarn"/>
|
||||
<appender-ref ref="RollingFileError"/>
|
||||
</root>
|
||||
<!--AsyncLogger :异步日志,LOG4J有三种日志模式,全异步日志,混合模式,同步日志,性能从高到底,线程越多效率越高,也可以避免日志卡死线程情况发生-->
|
||||
<!--additivity="false" : additivity设置事件是否在root logger输出,为了避免重复输出,可以在Logger 标签下设置additivity为”false”-->
|
||||
<AsyncLogger name="AsyncLogger" level="trace" includeLocation="true" additivity="false">
|
||||
<appender-ref ref="RollingFileInfo"/>
|
||||
</AsyncLogger>
|
||||
</loggers>
|
||||
</configuration>
|
||||
@@ -40,9 +40,9 @@
|
||||
</file>
|
||||
|
||||
<file>
|
||||
<source>src/main/resources/log4j.properties</source>
|
||||
<source>src/main/resources/log4j2.xml</source>
|
||||
<outputDirectory>config/</outputDirectory>
|
||||
<destName>log4j.properties</destName>
|
||||
<destName>log4j2.xml</destName>
|
||||
</file>
|
||||
|
||||
<file>
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
# Set root logger level to DEBUG and its only appender to A1.
|
||||
#log4j.rootLogger=ERROR, A1
|
||||
#log4j.rootLogger=INFO, stdout, file
|
||||
log4j.rootLogger=INFO, file, messagelog
|
||||
|
||||
log4j.logger.io.moquette=INFO
|
||||
log4j.logger.io.moquette.spi.impl.ProtocolProcessor=INFO
|
||||
log4j.logger.io.moquette.spi.impl.ProtocolProcessorBootstrapper=WARN
|
||||
|
||||
#Protocol parsing
|
||||
log4j.logger.io.moquette.server.netty.NettyMQTTHandler=WARN
|
||||
#log4j.logger.io.moquette.server.netty.NettyMQTTHandler=DEBUG
|
||||
log4j.logger.io.moquette.parser.netty=WARN
|
||||
#Storage server
|
||||
#log4j.logger.io.moquette.spi.impl.subscriptions.SubscriptionsDirectorytory=DEBUG
|
||||
#log4j.logger.io.moquette.spi.impl.HawtDBStorageService=DEBUG
|
||||
|
||||
# stdout appender is set to be a ConsoleAppender.
|
||||
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
#log4j.appender.stdout.Threshold=WARN
|
||||
#log4j.appender.stdout.Threshold=INFO
|
||||
#log4j.appender.stdout.Threshold=DEBUG
|
||||
#log4j.appender.stdout.Threshold=TRACE
|
||||
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
||||
|
||||
#file appender
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.Threshold=INFO
|
||||
log4j.appender.file.File=logs/wildfirechat.log
|
||||
log4j.appender.file.MaxFileSize=20MB
|
||||
log4j.appender.file.MaxBackupIndex=100
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
||||
log4j.appender.file.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} [%t] %-5p %c{1} %L %x - %m%n
|
||||
|
||||
####################################
|
||||
# Message Logger Configuration #
|
||||
#####################################
|
||||
log4j.appender.messagelog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.messagelog.Threshold=WARN
|
||||
log4j.appender.messagelog.File=logs/wildfirechat_messages.log
|
||||
log4j.appender.messagelog.MaxFileSize=100MB
|
||||
log4j.appender.messagelog.MaxBackupIndex=3
|
||||
log4j.appender.messagelog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.messagelog.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} [%t] %-5p %c{1} %L %x - %m%n
|
||||
|
||||
log4j.category.messageLogger=WARN, messagelog
|
||||
|
||||
|
||||
log4j.logger.cn.wildfirechat.push=INFO, push_log
|
||||
log4j.additivity.cn.wildfirechat.push=false
|
||||
log4j.appender.push_log=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.push_log.File=logs/push.log
|
||||
log4j.appender.push_log.Append=true
|
||||
log4j.appender.push_log.MaxFileSize=10MB
|
||||
log4j.appender.push_log.MaxBackupIndex=5
|
||||
log4j.appender.push_log.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.push_log.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] [%t] - %m%n
|
||||
log4j.appender.push_log.encoding=UTF-8
|
||||
|
||||
|
||||
log4j.logger.com.xiaoleilu.loServer=INFO, http_log
|
||||
log4j.additivity.com.xiaoleilu.loServer=false
|
||||
log4j.appender.http_log=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.http_log.File=logs/http.log
|
||||
log4j.appender.http_log.Append=true
|
||||
log4j.appender.http_log.MaxFileSize=10MB
|
||||
log4j.appender.http_log.MaxBackupIndex=5
|
||||
log4j.appender.http_log.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.http_log.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] [%t] - %m%n
|
||||
log4j.appender.http_log.encoding=UTF-8
|
||||
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
|
||||
<!--status="WARN" :用于设置log4j2自身内部日志的信息输出级别,默认是OFF-->
|
||||
<!--monitorInterval="30" :间隔秒数,自动检测配置文件的变更和重新配置本身-->
|
||||
<configuration status="WARN" monitorInterval="60">
|
||||
<Properties>
|
||||
<!--自定义一些常量,之后使用${变量名}引用-->
|
||||
<Property name="MSG_LOG_HOME">./logs</Property>
|
||||
<Property name="logFileName">test.log</Property>
|
||||
<property name="charset">UTF-8</property>
|
||||
<!--自定义的输出格式-->
|
||||
<property name="pattern">%d %-5p [%t] %C{2} (%F:%L) - %m%n</property>
|
||||
</Properties>
|
||||
<!--appenders:定义输出内容,输出格式,输出方式,日志保存策略等,常用其下三种标签[console,File,RollingFile]-->
|
||||
<appenders>
|
||||
<!--console :控制台输出的配置-->
|
||||
<console name="Console" target="SYSTEM_OUT">
|
||||
<!--PatternLayout :输出日志的格式,LOG4J2定义了输出代码,详见第二部分-->
|
||||
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
|
||||
</console>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileInfo" immediateFlush="false"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<!-- <TimeBasedTriggeringPolicy interval="6" modulate="true"/>-->
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileWarn" immediateFlush="true"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat_warn.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat_warn.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat_warn.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<RollingRandomAccessFile name="RollingFileError" immediateFlush="true"
|
||||
fileName="${MSG_LOG_HOME}/wildfirechat_error.log"
|
||||
filePattern="${MSG_LOG_HOME}/backup/wildfirechat_error.%d{yyyyMMddHH}.zip">
|
||||
<Filters>
|
||||
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<PatternLayout pattern="${pattern}" />
|
||||
<Policies>
|
||||
<!-- TimeBasedTriggeringPolicy :时间滚动策略,默认0点小时产生新的文件,interval="6" : 自定义文件滚动时间间隔,每隔6小时产生新文件, modulate="true" : 产生文件是否以0点偏移时间,即6点,12点,18点,0点-->
|
||||
<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
|
||||
<!-- SizeBasedTriggeringPolicy :文件大小滚动策略-->
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
|
||||
<DefaultRolloverStrategy max="24">
|
||||
<Delete basePath="${MSG_LOG_HOME}" maxDepth="2">
|
||||
<IfFileName glob="*/wildfirechat_error.*.zip" />
|
||||
<IfLastModified age="24H" />
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
</appenders>
|
||||
|
||||
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
|
||||
<loggers>
|
||||
<!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
|
||||
<!--Logger节点用来单独指定日志的形式,name为包路径,比如要为org.springframework包下所有日志指定为INFO级别等。 -->
|
||||
<!-- <logger name="org.springframework" level="INFO"></logger>-->
|
||||
<!-- <logger name="org.mybatis" level="INFO"></logger>-->
|
||||
<!-- Root节点用来指定项目的根日志,如果没有单独指定Logger,那么就会默认使用该Root日志输出 -->
|
||||
<root level="INFO">
|
||||
<!-- <appender-ref ref="Console"/>-->
|
||||
<appender-ref ref="RollingFileInfo"/>
|
||||
<appender-ref ref="RollingFileWarn"/>
|
||||
<appender-ref ref="RollingFileError"/>
|
||||
</root>
|
||||
<!--AsyncLogger :异步日志,LOG4J有三种日志模式,全异步日志,混合模式,同步日志,性能从高到底,线程越多效率越高,也可以避免日志卡死线程情况发生-->
|
||||
<!--additivity="false" : additivity设置事件是否在root logger输出,为了避免重复输出,可以在Logger 标签下设置additivity为”false”-->
|
||||
<AsyncLogger name="AsyncLogger" level="trace" includeLocation="true" additivity="false">
|
||||
<appender-ref ref="RollingFileInfo"/>
|
||||
</AsyncLogger>
|
||||
</loggers>
|
||||
</configuration>
|
||||
@@ -16,9 +16,9 @@ goto end
|
||||
rem Set JavaHome if it exists
|
||||
if exist { "%JAVA_HOME%\bin\java" } (
|
||||
set "JAVA="%JAVA_HOME%\bin\java""
|
||||
) else (
|
||||
) else {
|
||||
set "JAVA="java""
|
||||
)
|
||||
}
|
||||
|
||||
echo Using JAVA_HOME: "%JAVA_HOME%"
|
||||
echo Using WILDFIRECHAT_HOME: "%WILDFIRECHAT_HOME%"
|
||||
@@ -28,7 +28,7 @@ rem set LOG_FILE_LEVEL=fine
|
||||
set JAVA_OPTS=
|
||||
set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true
|
||||
set WILDFIRECHAT_PATH=%WILDFIRECHAT_HOME%
|
||||
set LOG_FILE=%WILDFIRECHAT_HOME%\config\log4j.properties
|
||||
set LOG_FILE=%WILDFIRECHAT_HOME%\config\log4j2.xml
|
||||
set HZ_CONF_FILE=%WILDFIRECHAT_HOME%\config\hazelcast.xml
|
||||
set C3P0_CONF_FILE=%WILDFIRECHAT_HOME%\config\c3p0-config.xml
|
||||
|
||||
@@ -72,8 +72,11 @@ rem set JAVA_OPTS=%JAVA_OPTS% -XX:+UseGCLogFileRotation
|
||||
rem set JAVA_OPTS=%JAVA_OPTS% -XX:NumberOfGCLogFiles=10
|
||||
rem set JAVA_OPTS=%JAVA_OPTS% -XX:GCLogFileSize=10M"
|
||||
|
||||
echo
|
||||
echo 请设置JVM参数Xmx和Xms!!!
|
||||
echo
|
||||
|
||||
rem set JAVA_OPTS=%JAVA_OPTS% -Xmx2G
|
||||
rem set JAVA_OPTS=%JAVA_OPTS% -Xms2G
|
||||
|
||||
%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configuration=file:%LOG_FILE% -Dcom.mchange.v2.c3p0.cfg.xml=%C3P0_CONF_FILE% -Dhazelcast.configuration=file:%HZ_CONF_FILE% -Dwildfirechat.path=%WILDFIRECHAT_PATH% -cp %WILDFIRECHAT_HOME%\lib\* cn.wildfirechat.server.Server
|
||||
%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configurationFile=%LOG_FILE% -Dcom.mchange.v2.c3p0.cfg.xml=%C3P0_CONF_FILE% -Dhazelcast.configuration=file:%HZ_CONF_FILE% -Dwildfirechat.path=%WILDFIRECHAT_PATH% -cp %WILDFIRECHAT_HOME%\lib\* cn.wildfirechat.server.Server
|
||||
|
||||
@@ -34,7 +34,7 @@ else
|
||||
fi
|
||||
export JAVA
|
||||
|
||||
LOG_FILE=$WILDFIRECHAT_HOME/config/log4j.properties
|
||||
LOG_FILE=$WILDFIRECHAT_HOME/config/log4j2.xml
|
||||
HZ_CONF_FILE=$WILDFIRECHAT_HOME/config/hazelcast.xml
|
||||
C3P0_CONF_FILE=$WILDFIRECHAT_HOME/config/c3p0-config.xml
|
||||
|
||||
@@ -83,11 +83,12 @@ JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500"
|
||||
#JAVA_OPTS="$JAVA_OPTS -XX:NumberOfGCLogFiles=10"
|
||||
#JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M"
|
||||
|
||||
echo ""
|
||||
echo "请设置JVM参数Xmx和Xms!!!"
|
||||
|
||||
echo "警告:没有设置JVM内存参数!"
|
||||
echo "请设置JVM参数Xmx和Xms,设置为您为IM服务预留的内存大小,注意需要刨除操作系统占用,如果有其它系统也需要相应去除占用。"
|
||||
echo ""
|
||||
#JAVA_OPTS="$JAVA_OPTS -Xmx2G"
|
||||
#JAVA_OPTS="$JAVA_OPTS -Xms2G"
|
||||
|
||||
|
||||
$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configuration="file:$LOG_FILE" -Dcom.mchange.v2.c3p0.cfg.xml="$C3P0_CONF_FILE" -Dhazelcast.configuration="file:$HZ_CONF_FILE" -Dwildfirechat.path="$WILDFIRECHAT_PATH" -cp "$WILDFIRECHAT_HOME/lib/*" cn.wildfirechat.server.Server
|
||||
$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configurationFile="file:$LOG_FILE" -Dlog4j2.formatMsgNoLookups=true -Dcom.mchange.v2.c3p0.cfg.xml="$C3P0_CONF_FILE" -Dhazelcast.configuration="file:$HZ_CONF_FILE" -Dwildfirechat.path="$WILDFIRECHAT_PATH" -cp "$WILDFIRECHAT_HOME/lib/*" cn.wildfirechat.server.Server
|
||||
|
||||
Reference in New Issue
Block a user