1. Achieve the goal
Log information for different businesses needs to be printed into different files, and one file is generated every day or every hour. For example, the registered information is printed to register.log, and a register-year, month, day, and day.log file is generated at the early morning of every day, and the login information is printed to a login.log file, login-year, month, day.log.
2. Maven configuration
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>test</groupId><artifactId>common</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.slf4j</grou pId><artifactId>slf4j-api</artifactId><version>1.7.6</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.6</version></dependency></project>
3. Configuration file
By default, log4j will parse the src/main/resources/log4j.properties file. The following is the content in the log4.properties file.
#### Parent Loggerlog4j.rootCategory=info,stdout### Whether the child Logger will be output in the appender of the parent Logger (log4j.rootCategory set above), the default is true### When true: the child level logger will be output in the parent Logger after outputting### When false: the log log will only be output in the current level Logger, and will not output log4j.addivity.org.apache=truelogdir=/Users/zhengcanrui/WORK/test/logslog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%p/:%d{yyyyMMdd HH/:mm/:ss} %c/: %m%n############################## log4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.File=${logdir}/file.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n##register module output#### Used to control the log information afterwards, such as: the following information is at least INFO, will be output to the register file log4j.logger.register=INFO,register log4j.appender.register=org.apache.log4j.DailyRollingFileAppender log4j.appender.register.File=${logdir}/register.loglog4j.appender.register.DatePattern='_'yyyy-MM-dd'.log'log4j.appender.register.layout=org.apache.log4j.PatternLayout log4j.appender.register.layout.ConversionPattern=%d %p [%c %L %l] - %m%nlog4j.additivity.register=true##login module output log4j.logger.login=INFO,login log4j.appender.login=org.apache.log4j.DailyRollingFileAppender log4j.appender.login.File=${logdir}/login.log#The file name output from the configuration file. This format file will generate a file in the early morning. If you want to generate a new file at other times, you can check the relevant configuration of DatePattern log4j.appender.login.DatePattern='_'yyyy-MM-dd'.log'log4j.appender.login.layout=org.apache.log4j.PatternLayout log4j.appender.login.layout.ConversionPattern=%d %p [%c] - %m%n# Set this child Logger output log not to output log4j.additivity.login=false # Log output control of open source library# logger for spring log4j.logger.org.springframework=error # logger for MemCached log4j.logger.com.danga.MemCached=error # logger for c3p0 log4j.logger.com.mchange=error org.apache.commons.http=error Several attributes to note:
log4j.additivity-Module name: Set whether the child logger is output in the parent logger.
Naming of module name: log4j.appender.module name.properties.
The meanings of each attribute in the configuration file can be viewed: http://www.cnblogs.com/0201zcr/p/4761505.html
4. Testing
import org.apache.log4j.Logger;import org.slf4j.LoggerFactory;/*** Created by zhengcanrui on 16/7/27.*/public class LoggerUtil {private static final Logger file = Logger.getLogger("file");private static final Logger register = Logger.getLogger("register");private static final Logger login = Logger.getLogger("login");private static final Logger goldcoin = Logger.getLogger("goldcoin"); private static final Logger recharge = Logger.getLogger("recharge"); private static final Logger jjj = Logger.getLogger(LoggerUtil.class.getName()); private static final Logger FILE = Logger.getLogger("appender1"); private static org.apache.log4j.Logger log = Logger.getLogger(LoggerUtil.class); public static void logInfo(String log) {file.info(log);}public static void registerInfo() {register.info("[register] ddd " );}public static void loginInfo() {login.info("[login] 222" );}public static void main(String[] args) {/*logInfo("11");registerInfo();loginInfo();*//*login.info("[login] 大大大大大大大大");register.debug("2222");register.info("[register] Everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone, everyone result:
1) Console
INFO:20160801 12:27:57 appender1: 334343
INFO:20160801 12:27:57 register: 2222
2) Generate files
3) Contents in the file
The above is the output of different Log4j modules introduced to you by the editor to different files. I hope it will be helpful to you. If you have any questions, please leave me a message and the editor will reply to you in time. Thank you very much for your support to Wulin.com website!