log4j日志工具的使用

一  简介Log4j日志记录工具:

简单的来讲Log4j就是一个可以将日志按级别、按不同的方式、以及按不同的格式输出的日志工具。

它的三个组件:日志器(logger) --  负责记录日志;输出器(Appender) -- 负责日志的输出到什么地方;日志格式化器(layout) -- 负责日志以什么格式输出。


二 Log4j日志工具的使用

a.引入log4j.jar 下载地址:http://download.csdn.net/download/sunnyyoona/9411178

  b.在src下添加log4j.properties配置文件,定义日志的输出级别、采用哪种输出器和采用哪种日志格式化器,具体的配置如下:

log4j.rootLogger=DEBUG, Console  
 
#Console  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n  
  
log4j.logger.org.apache.ibatis=debug 
log4j.logger.java.sql.PreparedStatement=DEBUG 
log4j.logger.java.sql.Statement=DEBUG 
log4j.logger.java.sql.Connection=DEBUG 
log4j.logger.java.sql.ResultSet=DEBUG

关于配置文件的配置:

  rootLogger配置:  根记录器rootLogger直接用log4.rootLogger配置,rootLogger是所有记录器的父亲,任何记录器都可以继承rootLogger的配置,代码如下:

# 配置rootLogger为ERROR级别,输出器为A1

        log4j.rootLogger=ERROR, A1

# 配置Appender A1, 输出到控制台,使用正则表达式布局

log4j.appender.A1 = org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout = org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss,SSS} {%C} - {%p} %m%n

c.Java代码中利用日志器不用方式出输出日志。

@RequestMapping(value="/Userlogin",method = RequestMethod.POST)
	@SystemLog(module = "系统管理", methods = "用户登录")
	public String UserLoginCheck(HttpServletRequest request,HttpServletResponse response,UserInfo user){
		log.info("登录用户信息:"+user.toString());
		HttpSession session = request.getSession();
		UserInfo resUser = userService.UserLoginCheck(user);
		if(resUser!=null){
			if(!new MD5().GetMD5Code(user.getPASSWORD()).equals(resUser.getPASSWORD())){
				log.info("密码输入错误!");
				request.setAttribute("user", user);
				request.setAttribute("error_msg", "密码输入错误!");
				return "index";
			}else{
				session.setAttribute("resUser", resUser);
				log.info("根据登录信息获取登录用户基本信息:"+resUser.toString());
				/**
				 * 1、根据用户登录账户查询用户角色权限信息,如果在未添加公众号信息跳至添加公众号,如果已经添加过后直接进入主页面
				 * 2、直接进入主页面用户有两种,一是平台管理员,二是注册的公众号用户自己添加的子用户
				 */
				if(!resUser.getUser_type().equals("0")){
					List<PublicUserRole> purlist = purService.findPublicUserRole(resUser.getUser_id());
					if(resUser.getUser_type().equals("1") && purlist.size()<=0){
						return "redirect:/screen/publicUser/public.jsp";
					}else if(resUser.getUser_type().equals("2")  && purlist.size()<=0){
						return "redirect:/screen/publicUser/public.jsp";
					}
					else{
						String json_menu = menuService.MosaicMenu(resUser.getUser_id(), purlist.get(0).getPublic_id());
						session.setAttribute("usermenu", json_menu);
						/**
						 * 登录成功后可选择切换本用户下的公众号
						 */
						PublicUser puser = new PublicUser();
						puser.setAppID(resUser.getUser_type());
						puser.setSuper_user(resUser.getUser_id());
						puser.setRemark4(resUser.getUser_id());
//						puser.setPublic_id(Integer.parseInt(publicUserRolelist.get(0).getPublic_id()));
						List<PublicUser> list = publicUserService.findpublic_userList1(puser);
//						List<PublicUser> publiclistInfo = publicUserService.findpublic_userList(puser);
						request.setAttribute("public_name",list.get(0).getPublic_name());
						session.setAttribute("public_name", list.get(0).getPublic_name());
						request.setAttribute("list", list);
						
						return "/screen/main/success";
					}
				}else{
					String json_menu = menuService.MosaicMenu(resUser.getUser_id(), "0");
					session.setAttribute("usermenu", json_menu);
					return "redirect:/screen/main/success.jsp";
				}
			}
		}else{
			log.info("用户不存在,请重新填写用户");
			request.setAttribute("user", user);
			request.setAttribute("error_msg", "用户不存在,请重新填写!");
			return "index";
		}
	}

这里给出的Java代码中日志的实现使用的是Spring的AOP的机制实现,没有采用xml文件配置,使用注解。

下一篇博客主要介绍一下基于Spring的AOP机制的日志实现的两种方式。 xml文件配置方式注解方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值