最近在看《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格式的日志。
分享到:
相关推荐
目前,我是随着时间的变化每次测试中重建机器学习框架,重新生成一套系数,但是这样系数变化会比较大,我需要利用强化学习把这个系数变化做得更平滑一些,求大神指教(请根据以下代码进行添加和修改,我看了很多强化...
本套Java视频教程详细讲解了代理设计模式的用法。分别讲述了静态代理、JDK动态代理,及CGLIB动态代理的用法,及应用场景对比。此套Java视频教程适合Java初学者,为以后的学习打下坚实基础。
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版本。 路径为:...
- 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框架:...
(2) MyAspect类中包含权限检查方法checkPermission()和记录日志方法log(),代码如下: (3) 要求在addUser和deleteUser方法开头进行权限检查,结束记录日志。传统方法的实现如下(看看就行): deleteUser方法同样处理在...
JDK: JDK1.6+ WEB: Tomcat6.0+ Maven: Maven3.2.3+ 为方便大家搭建开发环境,分享了下载地址 http://pan.baidu.com/s/1nuKnlNV 运行环境 WEB服务器:Tomcat6.0+ 数据库服务器:Mysql5.1 JAVA平台: JRE1.6+ 操作系统...
承接外包ERP项目初学JAVA的小伙伴可以下载源代码来进行学习交流系统部署初始账号:jsh,密码:123456技术框架核心框架:Spring Framework 3.0.5视图框架:Struts 2.2.3持久层框架:Hibernate 3.0日志管理:Log4j ...
IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,安全框架:Shiro,数据源:C3P0,日志:log4j,前端框架:Bootstrap 二、主要功能 1、登录模块功能 使用Shiro权限管理框架,实现登录验证和登录信息的...
JDK版本:jdk1.8 Tomcat版本:Tomcat8.x ![emplist](emplist.png) ![empadd](empadd.png) ![deptlist](deptlist.png) ![deptadd](deptadd.png) ![postlist](postlist.png) ## 项目备注 1、该资源内...
actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、...
修改mysql.properties中数据库连接信息 运行程序 用户名 密码 管理员 123 李老师 123 张老师 123 刘老师 123 曹老师 123 小红 123 小林 123 使用技术 IOC容器:弹簧 Web框架:SpringMVC ORM框架:Mybatis 安全框架...
该文档为官方webx框架文档,对webx进行了全面的讲解,非常实用,并附学习的Demo 为什么要用Webx而不是其它的开源框架? 现在有很多Java的Web框架可供选择,并且它们也都是免费的。例如: • Struts • Webwork • ...
Java 的学习笔记和整理的知识点,包含Java语言基础、Java服务端方向的框架、设计模式、计算机网络、算法、Java 虚拟机和数据库等多个方面的内容。想了解前端的内容参考,Android相关的内容参考。 目录结构 语言基础...
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
## 使用技术:IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,数据源:C3P0,日志:log4j,前端框架:Bootstrap,Apache Shiro身份验证 系统一共3个身份:管理员,老师和学生!管理员登录网站后台可以添加和维护课程...
使用技术:IOC容器:Spring,Web框架:SpringMVC,ORM框架:Mybatis,数据源:C3P0,日志:log4j,前端框架:Bootstrap,Apache Shiro身份验证 系统一共3个身份:管理员,老师和学生!管理员登录网站后台可以添加和维护课程信息...
初学JAVA的同学可以下载源代码来进行学习交流; 技术框架 核心框架:Spring Framework 4 安全框架:Apache Shiro 1.2 视图框架:Spring MVC 4 持久层框架:MyBatis 3 数据库连接池:Alibaba Druid 1.0 日志管理:SLF...
BAMS是一个完全开源的政企信息管理系统基础框架。... 框架适用环境:操作系统:windows、linux JDK版本:1.6、1.7 tomcat版本:6.x、7.x 数据库:mysql、oracle 浏览器版本:IE7以上系列、chrome系列、火狐
◆samples:该文件夹下包含Spring的几个简单例子,可作为Spring入门学习的案例。 ◆src:该文件夹下包含Spring的全部源文件,如果开发过程中有地方无法把握,可以参考该源文件,了解底层实现。 ◆test:该文件夹...