`
wen.owen
  • 浏览: 20251 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDK中的log框架学习总结

    博客分类:
  • Java
阅读更多
最近在看《Agile Java》,看到日志一节,收获颇多,所以发个贴总结和大家分享下。

JDK的日志框架的包名是java.util.logging,主要的类有:

ConsoleHandler 
ErrorManager 
FileHandler 
Formatter 
Handler 
Level 
Logger 
LoggingPermission 
LogManager 
LogRecord 
MemoryHandler 
SimpleFormatter 
SocketHandler 
StreamHandler 
XMLFormatter


其简单用法如下:
Logger logger = Logger.getLogger(getClass().getName());  //根据当前的class.getName()获得日志实例
logger.info(message);  //用日志输出一条info级别的消息;



日志级别有7个等级,分别是:
severe严重、warning警告、info信息、config配置、fine良好、finner较好、finest最好
如果日志对象设置为警告,那么只能输出警告和严重的日志;

JDK中的日志设计使用了观察者模式,观察者就是Handler,发布日志时会调用所有注册(logger.addHandler(handler))过的Handler中的publish(LogRecord)方法。默认Handler就ConsoleHandler,还有FileHandler、SocketHandler,MemoryHandler。

每条日志都封装在LogRecord对象中。

默认情况下使用的jre\lib\logging.properties配置文件来输出日志,也可以通过java.util.logging.config.file系统属性来自定义日志属性配置文件。例如: java -Djava.util.logging.config.file=myfile

配置文件中有一段
        java.util.logging.FileHandler.pattern = %h/java%u.log

其中%h和%u叫做域,域%h告诉FileHandler将日志文件存储在用户主目录。FileHandler定义很多域,包括%t和%g,%t代表临时目录,%g代表循环计数,联合使用java.util.logging.FileHandler.count和java.util.logging.FileHandler.limit属性。属性limit代表以字节为单位的日志文件的上限。如果为0,表示日志文件大小不做限制。当日志文件的大小达到了上限,FileHandler对象会关闭该文件。域count指定FileHandler可以循环使用多少个日志文件。如果count为1,那么当达到上限时,FileHandler会继续使用原来的日志文件。

配置文件可以定义输出格式,每种格式都是java.util.logging.Formatter的子类,Sun提供了两种实现SimpleFormatter和XMLFormatter,前者生成两行日志信息,后者生成XML格式的日志。
分享到:
评论

相关推荐

    jdk-8u161-windows-x64

    目前,我是随着时间的变化每次测试中重建机器学习框架,重新生成一套系数,但是这样系数变化会比较大,我需要利用强化学习把这个系数变化做得更平滑一些,求大神指教(请根据以下代码进行添加和修改,我看了很多强化...

    【动力节点】Java视频教程_SSH框架视频教程之Log4j

    本套Java视频教程详细讲解了代理设计模式的用法。分别讲述了静态代理、JDK动态代理,及CGLIB动态代理的用法,及应用场景对比。此套Java视频教程适合Java初学者,为以后的学习打下坚实基础。

    slf4j门面模式学习用的jar包,版本为1.7.30

    slf4j-api-1.7.30.jar(slf4j门面)、slf4j-simple-1.7.30.jar(slf4j的简单实现)、slf4j-jdk14-1.7.30.jar(slf4j与JUL日志框架绑定)、slf4j-log4j12-1.7.30.jar(slf4j与Log4j日志框架的绑定)、log4j-over-slf4...

    项目整体框架

    框架中包括了struts2、axis2集成,并包括了log4j,tomcat7的连接池,oracle中的colb类型处理。 开发工具采用的是Eclipse Java EE IDE for Web Developers,应用服务器为tomcat7,oracle10g,jdk为1.6版本。 路径为:...

    基于SpringBoot框架和SaaS模式,构建的非常好用的ERP系统,本科毕业设计项目

    - maven3+,并且在开发工具中配置好 - jdk1.8+,推荐1.8 - MySQL5.5+, 推荐5.7,5.6 ## 04 技术架构 - 核心框架:SpringBoot 2.0.0 - 持久层框架:Mybatis 1.3.2 - 日志管理:Log4j 2.10.0 - JS框架:...

    基于框架的Web开发-静态代理和动态代理原理.docx

    (2) MyAspect类中包含权限检查方法checkPermission()和记录日志方法log(),代码如下: (3) 要求在addUser和deleteUser方法开头进行权限检查,结束记录日志。传统方法的实现如下(看看就行): deleteUser方法同样处理在...

    jshERP开源进销存软件

    JDK: JDK1.6+ WEB: Tomcat6.0+ Maven: Maven3.2.3+ 为方便大家搭建开发环境,分享了下载地址 http://pan.baidu.com/s/1nuKnlNV 运行环境 WEB服务器:Tomcat6.0+ 数据库服务器:Mysql5.1 JAVA平台: JRE1.6+ 操作系统...

    JSH_ERP开源进销存软件 v1.0.2

    承接外包ERP项目初学JAVA的小伙伴可以下载源代码来进行学习交流系统部署初始账号:jsh,密码:123456技术框架核心框架:Spring Framework 3.0.5视图框架:Struts 2.2.3持久层框架:Hibernate 3.0日志管理:Log4j ...

    JAVA教务系统SSM框架实现源码 JAVASSMJWXT.rar

    IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,安全框架:Shiro,数据源:C3P0,日志:log4j,前端框架:Bootstrap 二、主要功能 1、登录模块功能 使用Shiro权限管理框架,实现登录验证和登录信息的...

    基于ssm的人事管理系统+源代码+文档说明

    ​ JDK版本:jdk1.8 ​ Tomcat版本:Tomcat8.x ![emplist](emplist.png) ![empadd](empadd.png) ![deptlist](deptlist.png) ![deptadd](deptadd.png) ![postlist](postlist.png) ## 项目备注 1、该资源内...

    spring-boot项目示例学习demo-66套.zip

    actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、...

    Online_Study_System:在线学习管理系统,SSM框架的简单实践

    修改mysql.properties中数据库连接信息 运行程序 用户名 密码 管理员 123 李老师 123 张老师 123 刘老师 123 曹老师 123 小红 123 小林 123 使用技术 IOC容器:弹簧 Web框架:SpringMVC ORM框架:Mybatis 安全框架...

    webx3框架指南PDF教程附学习Demo

    该文档为官方webx框架文档,对webx进行了全面的讲解,非常实用,并附学习的Demo 为什么要用Webx而不是其它的开源框架? 现在有很多Java的Web框架可供选择,并且它们也都是免费的。例如: • Struts • Webwork • ...

    Java-notes:Java 知识梳理和学习笔记,计算机网络,数据结构,设计模式等

    Java 的学习笔记和整理的知识点,包含Java语言基础、Java服务端方向的框架、设计模式、计算机网络、算法、Java 虚拟机和数据库等多个方面的内容。想了解前端的内容参考,Android相关的内容参考。 目录结构 语言基础...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...

    基于SSM的学校教务选课成绩管理系统源码+sql数据库(毕设项目).zip

    ## 使用技术:IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,数据源:C3P0,日志:log4j,前端框架:Bootstrap,Apache Shiro身份验证 系统一共3个身份:管理员,老师和学生!管理员登录网站后台可以添加和维护课程...

    JSP基于SSM学校教务选课成绩管理系统+源代码+文档说明+数据库.zip

    使用技术:IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,数据源:C3P0,日志:log4j,前端框架:Bootstrap,Apache Shiro身份验证 系统一共3个身份:管理员,老师和学生!管理员登录网站后台可以添加和维护课程信息...

    java8源码-WeChat_open_shop:开源的微信小程序商城(前后台都有,只需要配置下就可以使用),收藏

    初学JAVA的同学可以下载源代码来进行学习交流; 技术框架 核心框架:Spring Framework 4 安全框架:Apache Shiro 1.2 视图框架:Spring MVC 4 持久层框架:MyBatis 3 数据库连接池:Alibaba Druid 1.0 日志管理:SLF...

    BAMS-JAVA快速开发框架 2.5

    BAMS是一个完全开源的政企信息管理系统基础框架。... 框架适用环境:操作系统:windows、linux JDK版本:1.6、1.7 tomcat版本:6.x、7.x 数据库:mysql、oracle 浏览器版本:IE7以上系列、chrome系列、火狐

    hibernate + spring 简化包

     ◆samples:该文件夹下包含Spring的几个简单例子,可作为Spring入门学习的案例。  ◆src:该文件夹下包含Spring的全部源文件,如果开发过程中有地方无法把握,可以参考该源文件,了解底层实现。  ◆test:该文件夹...

Global site tag (gtag.js) - Google Analytics