您的位置:首页 > 其它

log4j的日志使用方式

2017-11-07 17:23 113 查看
创建一个maven项目。

在pom.xml中

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>


导入jar包

log4j.properties

配置文件放在src/main/resources下,名称固定,不可随意更改。

第一行的级别设置:从高到底ERROR, WARN, INFO,DEBUG

日志文件输出:./logs/access.log

控制台输出格式:%d{yyyy-MM-dd HH:mm:ss} [%p] %l %m %n

log4j.rootLogger=debug,console, file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %l %m %n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=./logs/access.log
log4j.appender.file.DatePattern='_'yyyyMMdd'.log'
log4j.appender.file.encoding=UTF-8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %l %m%n

log4j.appender.file.Append=true


package com.zhiyou.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.log4j.Logger;

import com.alibaba.druid.pool.DruidDataSourceFactory;

/**
* 数据库相关操作
*
* @author jack 1.获取数据库连接 2.释放资源
*
*/
public class DBUtil {

private static Logger log = Logger.getLogger(DBUtil.class);

private static DataSource ds;

static {
try {
InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties props = new Properties();
props.load(in);

ds = DruidDataSourceFactory.createDataSource(props);
log.info("数据库连接池初始化成功.....");
} catch (Exception ex) {
log.error("初始化数据库连接池异常:" + ex.getMessage());
}
}

/**
* 获取数据连接
*
* @return
*/
public static Connection getConnection() {
try {
Connection conn = ds.getConnection();
log.info("获取数据库连接成功!");
return conn;
} catch (SQLException e) {
log.error("获取数据库连接失败" + e.getMessage());
}
return null;
}

/**
* 释放资源
*
* @param conn
* @param pst
*/
public static void close(Connection conn, PreparedStatement pst) {
try {
pst.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

/**
* 释放资源
*
* @param conn
* @param pst
* @param rs
*/
public static void close(Connection conn, PreparedStatement pst, ResultSet rs) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
pst.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: