logback日志配置
一、简介:
logback是一个可靠、通用、快速而又灵活的Java日志框架。 声称要取代log4j.Logback is intended as a successor to the popular log4j projec
logback当前分成三个模块:logback-core,logback- classic和logback-access。
logback-core是其它两个模块的基础模块。logback-classic是log4j的一个改良版本。
logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。 logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 所以,导入的架包必须有以下:
若实现日志保存到mysql数据库,还需要:
以日志导入到mysql数据库为例(maven项目): pom.xml配置:
org.slf4j
slf4j-api ${slf4j.version} compile
ch.qos.logback
logback-classic ${logback.version} runtime
mysql
mysql-connector-java 5.1.25
commons-dbcp
commons-dbcp 1.4
在mysql中创建3张表(一定要手动建立,logback不会自动生成):
语句如下: BEGIN;
DROP TABLE IF EXISTS logging_event_property; DROP TABLE IF EXISTS logging_event_exception; DROP TABLE IF EXISTS logging_event;
COMMIT; BEGIN;
CREATE TABLE logging_event (
timestmp BIGINT NOT NULL, formatted_message TEXT NOT NULL, logger_name VARCHAR(254) NOT NULL, level_string VARCHAR(254) NOT NULL, thread_name VARCHAR(254), reference_flag SMALLINT, arg0 VARCHAR(254), arg1 VARCHAR(254), arg2 VARCHAR(254), arg3 VARCHAR(254),
caller_filename VARCHAR(254) NOT NULL, caller_class VARCHAR(254) NOT NULL, caller_method VARCHAR(254) NOT NULL, caller_line CHAR(4) NOT NULL,
event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ); COMMIT; BEGIN;
CREATE TABLE logging_event_property
(
event_id BIGINT NOT NULL, mapped_key VARCHAR(254) NOT NULL, mapped_value TEXT,
PRIMARY KEY(event_id, mapped_key),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT; BEGIN;
CREATE TABLE logging_event_exception (
event_id BIGINT NOT NULL, i SMALLINT NOT NULL, trace_line VARCHAR(254) NOT NULL, PRIMARY KEY(event_id, i),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT;
新建logBack.xml文件并进行配置如下:
UTF-8
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${LOG_HOME}/myProject.log.%d{yyyy-MM-dd}.log
30
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
10MB
com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1:3306/数据库 用户名密码
使用与log4j相同:
private static final Logger logger=LoggerFactory.getLogger(类名.class);
logger.info(“日志内容”); logger.error(“错误日志内容”); logger.warn(“警告内容”);