在程序中使用log4j

1.导入包
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

2.获取log实例
 Logger logger = Logger.getLogger

3配置log4j.properties
PropertyConfigurator.configure(log4j2.properties路径);

 #\u5B9A\u4E49DEBUG\u4F18\u5148\u7EA7\uFF0CR\u4E3A\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u7684
log4j.rootLogger=DEBUG, R
#\u8BBE\u7F6E\u65E5\u5FD7\u8F93\u51FA\u7C7B\u578B,\u4E3A\u6587\u4EF6\u7C7B\u578B
log4j.appender.R=org.apache.log4j.FileAppender
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u540Dmy.log
log4j.appender.R.file=my.log
#\u6BCF\u6B21\u5728\u6587\u4EF6\u5C3E\u5199\u5165\u65B0\u7684\u65E5\u5FD7\u4FE1\u606F
log4j.appender.R.Append=true
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u7C7B\u578B
log4j.appender.R.layout=org.apache.log4j.PatternLayout
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u4E3A \u6362\u884C\u3001\u6362\u884C\u3001\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u3001[\u7C7B\u540D]\u3001\u65E5\u5FD7\u4FE1\u606F\u3001\u6362\u884C
log4j.appender.R.layout.ConversionPattern=%n%n%d %p [%c] %r %n#%m%n
package LogTest;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator; class Log {
// Logger实例
private Logger loger;
// 将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用
private static Log log; // 构造函数,用于初始化Logger配置需要的属性
private Log() {
// 获得当前目录路径
String filePath = this.getClass().getResource("/").getPath();
// 找到log4j.properties配置文件所在的目录(已经创建好)
filePath = filePath.substring(1).replace("bin", "src");
// 获得日志类loger的实例
loger = Logger.getLogger(this.getClass());
// loger所需的配置文件路径
PropertyConfigurator.configure(filePath + "log4j.properties");
} static Log getLoger() {
if (log != null)
return log;
else
return new Log();
} // 测试函数
public static void main(String args[]) {
Log log = Log.getLoger();
try {
// 引发异常
int a = 2 / 0;
} catch (Exception e) {
// 控制台打印异常信息
e.printStackTrace();
// 写入到日子文件
//System.out.println(e.getMessage());
log.loger.info("error",e); }
} }

  

logger.debug("Here is some DEBUG");

logger.info("Here is some INFO");

logger.warn("Here is some WARN");

logger.error("Here is some ERROR");

logger.fatal("Here is some FATAL");

%m 输出代码中指定的信息 如 log.error("error")
%p 输出优先级 就是上面提到的DEBUG,INFO等
%c 输出所在类的全名
%r 输出自应用启用到输出该log信息耗费的时间(毫秒)
%t 输出产生该日子事件的线程名
%n 输出换行符号 Windows平台为 "rn",unix平台“n"
%d 输出日志时间点 默认格式是ISO8601 可以自定义格式,比如%d{yyy MM dd hh:mm:ss,sss}

Java Log4j日志使用的更多相关文章

  1. java Log4j日志配置详解大全

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  2. java log4j日志配置

    1.首先看pom.xml文件,需要以下配置 <dependency> <groupId>log4j</groupId> <artifactId>log4 ...

  3. java log4j 日志文件

    开发中经常会用到log日志文件,根据业务需要可能不产生很大日志文件给维护和[排错带来了麻烦.所以我们希望能够每天或每个月产生一个日志文件,这样文件不至于过大. 或者根据日志文件大小来判断,超过规定大小 ...

  4. java log4j基本配置及日志级别配置详解

    java log4j日志级别配置详解 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾 ...

  5. Java 标准日志工具 Log4j 的使用(附源代码)

    源代码下载 Log4j 是事实上的 Java 标准日志工具.会不会用 Log4j 在一定程度上可以说是衡量一个开发人员是否是一位合格的 Java 程序员的标准.如果你是一名 Java 程序员,如果你还 ...

  6. Java基础学习补充 -- 异常处理和log4j日志

    Java中的异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. Java中所有异常的基类Throwable:Throwable又分为Error类和Excepti ...

  7. Java学习笔记 DbUtils数据库查询和log4j日志输出 使用

    DbUtils使用 QueryRunner DbUtils中定义了一个数据库操作类QueryRunner,所有的数据库操作CRUD都是通过此类来完成. 此类是线程安全的 方法名 对应sql语句 exc ...

  8. 基于java配置log4j日志详解

    1.Log4j 1.1了解Log4j Log4j是Apache的一个开源项目,通过使用log4j,我们可以控制日志信息输送的目的地可以是控制台.文件.GUI组件,我们也可以控制每一条日志的输出格式,通 ...

  9. Log4j log for java(java的日志) 的使用

    log4j的使用,Log4j log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务. 可以再Apache官网下载得到. 我们下载lo ...

随机推荐

  1. ubuntu删除输入法后,循环登陆

    在登陆界面ctrl+alt+F1进入tty界面,登陆账号,然后输入 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 可以参考Ubuntu1 ...

  2. C#--之文件操作

    1.从文本文件中读取一行文本 StreamReader sr = new StreamReader("C:\\1.txt"); string readline = sr.ReadL ...

  3. 一段发工资的shell代码

    人事发工资条之前是一个个截图发到我们的邮箱里,看人事妹纸是一个善良而又美丽的姑凉,于是乎写了一段shell代码实现批量发短信至各个手机号.不多说了,上代码,其实很简单,我都不好意思上传,还是记录下吧, ...

  4. 网页js,DIV全屏布局

    <script type="text/javascript"> $(document).ready(function(){ findDimensions(); }); ...

  5. array_filter移除空数组

    $arr = array( "0"=> "564645", "1"=>"", "2"=& ...

  6. Brew Command Not Found

    安装了brew后,居然找不到brew命令.于是uninstall后再次install,居然还是Brew Command Not Found. 解决办法: http://stackoverflow.co ...

  7. asp.net常用函数表

    文章转载于[IT花园]:http://www.itgarden.com.cn/showtopic-29.aspx Abs(number) 取得数值的绝对值. Asc(String) 取得字符串表达式的 ...

  8. 微信C# SDK

    微信C# SDK # 模块功能 DLL 1 基础库 Senparc.Weixin.dll 2 微信公众号 / 微信支付 / JSSDK / 摇周边 / 等等 Senparc.Weixin.MP.dll ...

  9. zabbix特性

    在知道zabbix是什么之后,我们最关心的是zabbix有什么特性,了解特性之后,我们才能决定是否会使用zabbix,以及zabbix是否适合我们. 概述 Zabbix是一个高度集成的网络监控套件,通 ...

  10. 我也来写:数据库访问类DBHelper(转)

    一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...