1.修改pom.xml文件,使用Maven导入jar包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.添加 log4j.properties 配置文件,并进行一些配置
###设置日志输出级别
log4j.rootLogger=info,console,infofile,warnfile,errorfile
###输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
#Threshold:指定日志消息的输出最低层次。
log4j.appender.console.Threshold=INFO
#ImmediateFlush:默认值是true,意谓着所有的消息都会被立即输出。
log4j.appender.console.ImmediateFlush=true
#Target:默认情况下是:System.out,指定输出控制台
log4j.appender.console.Target=System.out
#layout:输出样式
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
###输出到文件(文件大小到达指定尺寸的时候产生一个新的文件)
log4j.appender.infofile=org.apache.log4j.RollingFileAppender
#Threshold:指定日志消息的输出最低层次。
log4j.appender.infofile.Threshold=INFO
#ImmediateFlush:默认值是true,意味着所有的消息都会被立即输出。
log4j.appender.infofile.ImmediateFlush=true
#File:指定消息输出到mylog.log文件。
log4j.appender.infofile.File=e\:\\ssm-logs\\info-log.log
#Append:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
log4j.appender.infofile.Append=true
#MaxFileSize: 后缀可以是KB, MB或者是 GB.在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logs/applog.log.1文件。
log4j.appender.infofile.MaxFileSize=10MB
#MaxBackupIndex:指定可以产生的滚动文件的最大数。
log4j.appender.infofile.MaxBackupIndex=20
#layout:输出样式
log4j.appender.infofile.layout=org.apache.log4j.PatternLayout
log4j.appender.infofile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
###输出到文件(文件大小到达指定尺寸的时候产生一个新的文件)
log4j.appender.warnfile=org.apache.log4j.RollingFileAppender
#Threshold:指定日志消息的输出最低层次。
log4j.appender.warnfile.Threshold=WARN
#ImmediateFlush:默认值是true,意味着所有的消息都会被立即输出。
log4j.appender.warnfile.ImmediateFlush=true
#File:指定消息输出到mylog.log文件。
log4j.appender.warnfile.File=e\:\\ssm-logs\\warn-log.log
#Append:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
log4j.appender.warnfile.Append=true
#MaxFileSize: 后缀可以是KB, MB或者是 GB.在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logs/applog.log.1文件。
log4j.appender.warnfile.MaxFileSize=10MB
#MaxBackupIndex:指定可以产生的滚动文件的最大数。
log4j.appender.warnfile.MaxBackupIndex=10
#layout:输出样式
log4j.appender.warnfile.layout=org.apache.log4j.PatternLayout
log4j.appender.warnfile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
###输出到文件(文件大小到达指定尺寸的时候产生一个新的文件)
log4j.appender.errorfile=org.apache.log4j.RollingFileAppender
#Threshold:指定日志消息的输出最低层次。
log4j.appender.errorfile.Threshold=ERROR
#ImmediateFlush:默认值是true,意味着所有的消息都会被立即输出。
log4j.appender.errorfile.ImmediateFlush=true
#File:指定消息输出到mylog.log文件。
log4j.appender.errorfile.File=e\:\\ssm-logs\\error-log.log
#Append:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
log4j.appender.errorfile.Append=true
#MaxFileSize: 后缀可以是KB, MB或者是 GB.在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logs/applog.log.1文件。
log4j.appender.errorfile.MaxFileSize=10MB
#MaxBackupIndex:指定可以产生的滚动文件的最大数。
log4j.appender.errorfile.MaxBackupIndex=5
#layout:输出样式
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3.在类中创建日志对象并在方法中使用
public class UserController extends BaseController {
private static final long serialVersionUID = 1L;
// 记录日志
public static Logger log = Logger.getLogger(UserController.class);
@Autowired
private UserService userService;
/**
* 用户登录
*
* @param user1
* @param request
* @return
*/
@RequestMapping("/login")
public String login(User user1, HttpServletRequest request) {
User user = userService.login(user1.getCode(), user1.getPassword());
if (user != null) {
log.info(user.getCode() + "登录成功!");
// 下面的消息将被输出
log.info("this is an info");
log.warn("this is a warn");
log.error("this is an error");
log.fatal("this is a fatal");
// System.out.println(user.getCode() + "登录成功!");
request.getSession().setAttribute("user", user);
request.setAttribute("msg", "登陆成功!");
Integer roleId = user.getRoleId();
if (roleId == 1) {
return "views/admin";
} else if (roleId == 2) {
return "views/login";
} else if (roleId == 3) {
return "views/login";
} else {
return "index";
}
} else {
request.setAttribute("msg", "用户名或密码错误!");
return "index";
}
}
@RequestMapping("/get")
public String get(HttpServletRequest request) {
// User user = userService.get();
// request.setAttribute("user", user);
return "views/user/user-list";
}
}
4.不同的日志级别就会保存在不同的文件中