Java日志记录,log4j的使用

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.不同的日志级别就会保存在不同的文件中



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值