log4j

一,log4j简介

  1.如果程序中出现异常,我们怎么解决?

    01.使用异常处理机制===》异常    (但是使用原则是,能不用异常处理机制,最好不用,怎么办?)

    02.通过debug调试          (必须掌握)

    03.通过System.out.print();

      但是:001.控制台有行数限制

         002.影响我们的系统性能

         003.如果我们要对用户的行为习惯进行分析

  2.我们需要一个把记录用户行为和习惯的代码,记录在一个文件中!

    .log(日志文件)

  3.log4j:(log for Java)

    01.是用java语言编写的一个日志框架

    02.是Apache的一个开源项目

    03.记录我们程序中的日志信息

    04.可以将日志信息输出到我们指定的目的地

  4.log4j的作用

    01.记录代码中变量的变化,用于我们程序的调试和后期维护

    02.可以周期性的保存一些数据,用于后期对数据的分析

    03.通过设置日志信息的级别,来便于我们的管理

二,log4j的组成部分

  1.日志的记录器(logger)

    日志的输出级别

      OFF  级别最高,用于关闭所有的日志输出

      ALL  级别最低,用于开启所有的日志输出

      Fatel  严重的错误事件,将导致我们的程序终止

      Error  错误事件,不会影响我们的程序的继续执行

      Warn  可能存在潜在的错误场景

      Info  指的是粗粒度级别上的使用

      Debug  指的是细粒度级别上的使用

      Trace  比Debug还要细的

    开发环境(开发阶段):  使用日志级别比较低:Debug

    生产环境(项目上线):  建立把Debug细粒度的设置成Warn

  2.日志的输出格式(Layout)

    %p  日志信息的优先级

    %d  日志信息的输出时间  %d(yyyy-MM-dd hh:mm:ss)

    %C  日志信息输出的类

    %l  日志信息的输出位置:类+线程+行号

    %M  日志信息的输出所在方法

    %m  日志信息的输出内容

    %n  输出日志信息之后换行

    %t  日志信息的输出所在线程

    %r  从程序启动到输出日志信息所经历的时间(毫秒)

  3.日志的输出目的地(Appender)

    01.把我们的日志信息输出到某个地址

    02.可以同时指定多个输出地

    03.一个输出地对应一个Appender

    将日志输出到Console控制台中=====》ConsoleAppender

    将日志输出到文件中

      =====》01.RollingFileAppender    根据文件大小创建新的日志文件

      =====》02.DailyRollingFileAppender  根据时间创建新的日志文件

三,重点log4j的使用

  1.创建Java项目

  2.在项目中创建lib文件夹

  3.把我们事先下载好的jar包引到我们lib中

  4.右键点击  jar builder path  加入到我们项目中

  5.创建测试类 书写我们的测试代码(logger)

  6.创建source folder

  7.在resource文件夹中创建需要的log4j.properties      (log4j.properties名字固定,不能随便命名,因为底层默认找这个)

  8.书写配置

    01.输出到Console控制台

    02.输出到文件中,根据文件大小自动创建

    03.书写到文件中,根据文件时间自动创建

    DailyRollingFileAppender中的DatePattern共分为6种方式

      001.每月    yyyy-MM

      002.每周    yyyy-ww

      003.每天    yyyy-MM-dd

      003.每半天    yyyy-MM-dd-a

      004..每小时    yyyy-MM-dd-hh

      005.每分钟    yyyy-MM-dd-hh-mm

改天我传一个完整的书写配置的代码。今天就先溜了

Java公开课-05.log4j的更多相关文章

  1. 学习经验分享(最近听了一节Java公开课)

    最近听了一节Java公开课,讲的Tomcat8.0的,老师分享的学习方法很好, 时间和精力要用对地方 1.学习一个知识的广度和深度,先学主要的主流的,不要学了很多不该学,没必要学的东西 2.要花时间总 ...

  2. Java公开课-01.类和对象

    一,类和对象的含义 1.类:类是具有相同属性(静态特征)和行为(功能 )的一系列事物的集合. eg:以下俩者是不是类 1)汽车  √ 2)小胖桌子上那个红色的杯子  × 2.对象:被精确限定到一个特殊 ...

  3. Java公开课-06.单例

    一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计. 二. 单例模式的特点 1. 单例模式只能有一个实例. 2. 单例类必须创建 ...

  4. Java公开课-04.异常

    一,异常的概念 程序在运行时,发生了我们没有预测的结果,它阻止了程序按照我们预期效果执行 二,怎么保证我们的程序在发生异常以后 ,代码继续执行? 异常处理机制 在程序发生异常以后,还能按照我们事先设定 ...

  5. Java公开课-03.内部类

    一.内部类的作用 1.实现了类的隐藏 2.实现了多重继承 3.内部类拥有外部类所拥有的属性和方法的访问权限 4.避免修改接口的时候出现同名方法 二.内部类--成员内部类 1.如果我们想访问内部类,我们 ...

  6. Java公开课-02.抽象类和接口

    在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略 一,封装 1.体现: 将变量和方法放到一个类中 私有字段封装成共有属性 2.this: 如果发现成员变量的名称和方法参数的名称相 ...

  7. 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践

    对于公开课,可能目前用不上这些,但是往往能在以后想解决方案的时候帮助到我.以下是阿里对公开课的整理 摘要: 在首届阿里巴巴在线峰会上,阿里巴巴中间件技术部专家魏鹏为大家带来了题为<基于Java容 ...

  8. 《开源公开课分享》:Java开源框架案例分享

        缺乏高端技术人才?缺乏开发标准?    代码复用性低?技术风险难于把控?     招聘成本高?培训成本高?    假设想法不够雄伟,那么就会局限于细节:假设一開始就铺很大的摊子,将会失去控制: ...

  9. 手把手教你用python打造网易公开课视频下载软件4-图形化界面

    上一篇讲解完函数:def getdownLoadInfo (url): 传入公开课的url地址,就可以提取课程的信息,这一篇讲解一下如何编写图像化界面.大概思考一下图像化界面需要的内容: (1)一个标 ...

随机推荐

  1. netstat 的10个基本用法(转)

    本文转载自一译作. *注:netstat即network state缩写. Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以 ...

  2. LeetCode之“动态规划”:Distinct Subsequences

    题目链接 题目要求: Given a string S and a string T, count the number of distinct subsequences of T in S. A s ...

  3. [驱动注册]platform_driver_register()与platform_device_register()

    [驱动注册]platform_driver_register()与platform_device_register()      设备与驱动的两种绑定方式:在设备注册时进行绑定及在驱动注册时进行绑定. ...

  4. 安卓TV开发(六) 移动智能终端UI之实现类似GridView的焦点控制FocusView框架

    转载请标明出处:http://blog.csdn.net/sk719887916/article/details/40045089,作者:skay 前言 安卓TV开发(五) 移动智能终端UI之实现主流 ...

  5. ssh keygen命令实现免密码通信(git库获取操作权限:开发人员添加到git库中,获取操作权限)

    先看两个机器实现免密码登陆通讯: 假设 A 为客户机器,B为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa 做法: 1.登录A机器 2.s ...

  6. zookeeper 事务日志

    前面提到,在zookeeper server的配置文件zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录,这个事务日志类似于下面这样的文件: 这个文件是一个二进制 ...

  7. mysql随笔

    MySQL查询优化器--非SPJ的优化 MySQL查询优化器--非SPJ优化(一)--GROUPBY优化 http://blog.163.com/li_hx/blog/static/183991413 ...

  8. Mac OS 终端常用命令基础

    基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录" /" 下面,所以不在要有Windows 下的盘符概念.比如什么"C:"你在桌面上看到的硬盘都 ...

  9. C# 操作Excel数据透视表

    一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

  10. AngularJs 指令directive之require

    controller的用法分为两种情形,一种是require自定义的controller,由于自定义controller中的属性方法都由自己编 写,使用起来比较简单:另一种方法则是require An ...