JAVA程序离不开日志的支持,特别是生成环境服务器,查问题的时候更是离不开日志的支持,现将slf+log4j整合到spring框架中的配置写一下:
项目结构如下:
一、在web.xml中添加log4j的配置文件和监听器
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:resources/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
二、设置log4j配置文件,位置src/resources/log4j.properties,内容如下:
log4j.rootLogger=DEBUG,stdout,InfoFile,ErrorFile
#kong zhi tai shu chu she ding
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n
#info
log4j.appender.InfoFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.InfoFile.Threshold=DEBUG
log4j.appender.InfoFile.file=${catalina.base}/logs/activitiLogs/InfoFile.log
log4j.appender.InfoFile.DatePattern='.'yyyy-MM-dd
log4j.appender.InfoFile.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoFile.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n
#error
log4j.appender.ErrorFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorFile.Threshold=Error
log4j.appender.ErrorFile.File=${catalina.base}/logs/activitiLogs/ErrorFile.log
log4j.appender.ErrorFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ErrorFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorFile.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n
配置中主要设置了控制台、info日志文件和error日志文件的产出:
控制台:输出Debug及以上的日志信息
info、error日志文件:
输出DEBUG及以上日志信息;
每天产生一个新的日志文件;
${catalina.base}表示tomcat服务器根目录(bin文件夹和conf文件夹的父目录);
eclipse中直接启动Tomcat插件服务,则日志输出在workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\logs\activitiLogs(tmp3是会改变的,规律是tmp*);
info级别的只会输入在InfoFile.log文件中,error级别的日志会同时出现在InfoFile.log和errorFile.log文件中;
配置文件还可以设置单个类产生的日志信息单独输出到一个日志文件中,此处没有进行这么细致的配置,仅仅简单的根据级别区分了一下
三、java代码中调用
package com.pb.modult.admin.biz.service;
import org.apache.log4j.Logger;
import org.apache.log4j.spi.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.pb.modult.admin.biz.bo.AdminBO;
/**
* 管理员
* @author Administrator
*
*/
@Service
public class AdminService {
@Autowired
private AdminBO adminBO;
Logger logger = Logger.getLogger(AdminService.class);
org.slf4j.Logger logger2 = org.slf4j.LoggerFactory.getLogger("InfoFile");
public void login(){
logger.info("info日志");
logger.error("error日志");
logger2.debug("debug日志,主键{}", "主键值");
}
}
slf可以设置占位符直接进行字符串的拼接
相关推荐
Unity 圣节SLG游戏源码打包下载,支持安卓+IOS双端源码 Unity2017-2021 C#语言开发。拿来学习研究和二次开发都很不错。
slf4j-log4j12-1.4.3.jar jmesa 用到的jar
即时战略游戏glest源代码 即时战略游戏 glest 源代码 RTS 源代码结构分明,便于初学者学习
封装SAP标准API,通过事务码SLG0配置日志对象和子对象,通过调用API实现在ABAP程序中记录过程日志,并通过事务码SLG1查看日志,SLG2删除历史日志。
游戏名称:《三国战纪》手机版 游戏类型:横版过关 游戏支持屏幕:176*208 游戏支持需求:MIDP2.0,CLDC1.1 开发平台:J2ME+eclipse3.2+wtk2.5+jdk1.6
一个J2ME SLG游戏范例,是学习SLG游戏编程的好例子,一定会收获不少 !
深入了解[4]要明白OAuth 2.0的问题,你需要了解它相比OAuth 1.0在核心架构上有哪些变化:无绑定token(Unbounded tokens) -
cping1982写的slg例子,我直接做成了eclipse工程,方便大家使用。
SLG游戏类的游戏可谓“棋盘式游戏”,如三国志2、4、5,机器人大战,梦幻模拟战等都是典型的SLG游戏。该游戏的一大特点就是:走格子。移动,攻击 范围都是以格子为攻击单位。其实SLG游戏的特点远不止这些。在这里,...
LGame-J2SE版发布过的旧例子,移植到Android环境之下,源码并没有太大变动(当然,调整为触摸屏了),算是最为基础的SLG实现,移动方式为最短距离寻径。
图形格式转换工具
这是一个自制的SLG的Java PC游戏用例,本利仅为游戏本身,源码将随blog更新发布,当然有兴趣的允许反编译,未加密。
2019年中国SLG类移动游戏线上营销市场研究报告
J2ME中的SLG游戏示例代码,SLG战略实现 时间 2005年4月14日16:44 李波 小图模式 1:光标移动OK 2:滚屏OK 3:人物动作OK 4:人物移动OK 5:移动范围限定OK 6:显示菜单OK 7:多人物模式OK ...
SLG示例源代码,基于J2ME,可以学习一下哦!
python库。 资源全名:slg-dev-ops-1.6.2.tar.gz
2021-2025年中国SLG类移动游戏行业调研及可持续发展战略究报告.pdf
2021年SLG手游研究报告.pdf
关于绘制光标及绘制窗体响应鼠标事件的示例
mybatis相关的所有jar包,包括log4j,slg4j,mysql相关jar,mybatis整合spring的jar