log4j的使用,Log4j log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务。

可以再Apache官网下载得到。

我们下载log4j,j就是java的意思,还有其他的平台如PHP .NET

选择1.2.17版本,

下载后解压缩

首先建立项目,建立log4j.properties文件

log4j.properties

log4j.rootLogger=DEBUG, Console ,File  

#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 #File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = d://log4j.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

  

把Debug信息输出到控制台和本地文件

指定布局格式以及输出地址 具体含义此处只需了解

代码如下:

import org.apache.log4j.Logger;

public class Demo {
private static Logger logger=Logger.getLogger(Demo.class); // 获取logger实例
public static void main(String[] args) {
logger.info("普通Info信息");
logger.debug("调试debug信息");
} }

  运行后,控制台输出内容 和 D盘下会多出一个文件

控制台内容:

2017-10-08 00:42:18,718 [main] INFO [com.zhi.log4j.Demo] - 普通Info信息
2017-10-08 00:42:18,750 [main] DEBUG [com.zhi.log4j.Demo] - 调试debug信息

D盘下文件名:

log4j.log(就是我们在配置文件里指定的)

代码示例:

import org.apache.log4j.Logger;

public class Demo {
private static Logger logger=Logger.getLogger(Demo.class); // 获取logger实例
public static void main(String[] args) {
logger.info("普通Info信息");
logger.debug("调试debug信息");
logger.error("错误error信息");
logger.warn("警告warn信息");
logger.fatal("严重错误fatal信息"); //开发中有可能会遇到一下经典异常
logger.error("错误了",new IllegalArgumentException("非法参数异常"));
}
}

  此时控制台输出:

2017-10-08 00:58:07,000 [main] INFO [com.zhi.log4j.Demo] - 普通Info信息
2017-10-08 00:58:07,000 [main] DEBUG [com.zhi.log4j.Demo] - 调试debug信息
2017-10-08 00:58:07,000 [main] ERROR [com.zhi.log4j.Demo] - 错误error信息
2017-10-08 00:58:07,000 [main] WARN [com.zhi.log4j.Demo] - 警告warn信息
2017-10-08 00:58:07,000 [main] FATAL [com.zhi.log4j.Demo] - 严重错误fatal信息
2017-10-08 00:58:07,000 [main] ERROR [com.zhi.log4j.Demo] - 错误了
java.lang.IllegalArgumentException: 非法参数异常
at com.zhi.log4j.Demo.main(Demo.java:15)

非法参数异常对于初学者来说可能会经常遇见。

同时D盘的log4j文件内容

日志信息又追加进去了

Log4j log for java(java的日志) 的使用的更多相关文章

  1. Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

    自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...

  2. java中的日志组件-log4j

    1.为什么使用日志组件 Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT的事件记录器:还可以控制每一 ...

  3. log4j log for java

    1.log4j简介 1.如果程序中出现异常,我们怎么解决? 01.使用异常处理机制===>异常 (但是使用原则是,能不用异常处理机制,最好不用,怎么办?) 02.通过debug调试 (必须掌握) ...

  4. Java中的日志——Java.util.logging、log4j、commons-logging

    Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging.其中log4j和commons-loggin ...

  5. Log4j官方文档翻译(四、如何在java中输出日志消息)

    我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/hom ...

  6. slf4j+log4j在Java中实现日志记录

    小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...

  7. java中开源日志记录工具log4j

    日志:除了能记录异常信息,还可以记录程序正常运行时的关键信息. 使用log4j来进行日志文件记录经典步骤: 001.在项目中创建一个lib文件夹,然后将下载好的jar包copy到该文件夹下 002.对 ...

  8. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

  9. java中的日志打印

    java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...

随机推荐

  1. python+selenium元素定位——8种方法

    定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_b ...

  2. 红黑树的删除操作---以JDK源码为例

    删除操作需要处理的情况: 1.删除的是红色节点,则删除节点并不影响红黑树的树高,无需处理. 2.删除的是黑色节点,则删除后,删除节点所在子树的黑高BH将减少1,需要进行调整. 节点标记: 正在处理的节 ...

  3. [Markdown] 04 进阶语法 第二弹

    [TOC] 接上一篇 [Mardkown] 03 进阶语法 第一弹 8. LaTeX 8.1 相关介绍 TeX:学术排版 LaTeX:相当于 TeX 的简化版本:对公式编辑精细至像素级别 MathJa ...

  4. [Vim] 03 凡人进阶

    目录 0. 前言 1. 按下 Esc, 进入编辑模式 (1) 定位 (2) 删除 1) 不进入插入模式的删除 2) 进入插入模式的删除 3. 10 个特殊字符 4. 在 gVim 下执行命令 (1) ...

  5. [APIO2019] [LOJ 3146] 路灯 (cdq分治或树状数组套线段树)

    [APIO2019] [LOJ 3146] 路灯 (cdq分治或树状数组套线段树) 题面 略 分析 首先把一组询问(x,y)看成二维平面上的一个点,我们想办法用数据结构维护这个二维平面(注意根据题意这 ...

  6. HDU 6603 Azshara's deep sea(凸包+区间DP)

    由于题目要求,首先维护出一个凸包,然后在凸包上寻找点对关系,用rel[i][j]表示i点和j点之间是否可以连线,又由于维护出来的凸包上的点的个数不多,可以直接枚举点对并枚举所有圆,判断两点直线和圆是否 ...

  7. day20 博客系统开发

    setting 文件加入  AUTH_USER_MODEL = "app名称.UserInfo"     from django.db import models # Create ...

  8. 进程通信(multiprocessing.Queue)

    from multiprocessing import Queue Queue([maxsize]) 创建共享的进程队列.maxsize是队列中允许的最大项数.如果省略此参数,则无大小限制.底层队列使 ...

  9. #python# error:illegal multibyte sequence

    读取html遇到illegal multibyte sequence 1.第一种情况:更换编码方式 查看网页源码,找到charset,得到该网页编码方式 <meta http-equiv=&qu ...

  10. python 模块调用的几种方式

    在python里面又很多模块,或者引用第三方模块,python 模块调用的几种方式,下面详细解说 1,import 模块名 2,from 模块 import  模块里面的小功能 3,from  模块 ...