当前位置: 首页 > news >正文

产品网站设计兴义做网站的公司

产品网站设计,兴义做网站的公司,网站开发软件启动,门户网站建设存在问题与不足文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders#xff08;输出控制器#xff09;3、Layout#xff08;日志格式化器#xff09; 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自… 文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders输出控制器3、Layout日志格式化器 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自定义配置文件拆分日志1、按照文件大小进行拆分2、按照日期进行拆分 六、自定义配置文件中的logger 一、Log4j简介 Log4j是Apache的一个开源项目可以控制日志信息输出到控制台、文件、甚至是数据库中可以控制每一条日志的输出格式通过一个配置文件来灵活地进行配置而不需要修改应用的代码 二、Log4j组件介绍 主要由Loggers (日志记录器)、Appenders输出控制器和 Layout日志格式化器组成Loggers控制日志的输出级别与日志是否输出Appenders指定日志的输出方式输出到控制台、文件等Layout控制日志信息的输出格式 1、Loggers (日志记录器) 日志记录器负责收集处理日志记录 实例的命名就是类的全限定名如com.xc.log4j.XXLogger的名字大小写敏感 命名有继承机制 例如name为com.xc.log4j的logger会继承name为com.xc的logger的属性父类所做的日志属性设置会直接的影响到子类 Log4J中有一个特殊的logger叫做“root”他是所有logger的根 也就意味着其他所有的logger都会直接或者间接地继承自rootroot logger可以用Logger.getRootLogger()方法获取 2、Appenders输出控制器 ConsoleAppender将日志输出到控制台FileAppender将日志输出到文件中DailyRollingFileAppender将日志输出到一个日志文件并且每天输出到一个新的文件RollingFileAppender将日志信息输出到一个日志文件并且指定文件的尺寸当文件大小达到指定尺寸时会自动把文件改名同时产生一个新的文件JDBCAppender把日志信息保存到数据库中 3、Layout日志格式化器 HTMLLayout格式化日志输出为HTML表格形式SimpleLayout简单的日志输出格式化打印的日志格式如默认INFO级别的消息PatternLayout最强大的格式化组件有默认的转换格式也可以自定义格式输出日志 日志输出格式说明 %m输出代码中指定的日志信息%p输出级别及 DEBUG、INFO 等%n换行符Windows平台的换行符为 “\n”Unix 平台为 “\n”%r输出自应用启动到输出该 log 信息耗费的毫秒数%c输出打印语句所属的类的全名%t输出产生该日志的线程全名%d输出服务器当前时间默认为 ISO8601也可以指定格式如%d{yyyy年MM月dd日 HH:mm:ss}%l输出日志时间发生的位置包括类名、线程、及在代码中的行数。如Test.main(Test.java:10)%F输出日志消息产生时所在的文件名称%L输出代码中的行号%%输出一个 “%” 字符 可以在 % 与字符之间加上修饰符来控制最小宽度、最大宽度和文本的对其方式 %5c输出category名称最小宽度是5category5默认的情况下右对齐%-5c输出category名称最小宽度是5category5-号指定左对齐会有空格%.5c输出category名称最大宽度是5category5就会将左边多出的字符截掉5不会有空格%20.30ccategory名称20补空格并且右对齐30字符就从左边较远处多出的字符截掉 三、Log4j快速入门 pom依赖 dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version /dependencyimport org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.junit.Test;public class Log4jTest {Testpublic void test01() {// 加载初始化配置没有配置文件则需要添加此配置BasicConfigurator.configure();// 实例化LoggerLogger logger Logger.getLogger(Log4jTest.class);logger.info(logger实例名称 logger.getName());logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息);} }输出结果 0 [main] INFO com.xc.log.Log4jTest - logger实例名称com.xc.log.Log4jTest 1 [main] FATAL com.xc.log.Log4jTest - fatal信息 1 [main] ERROR com.xc.log.Log4jTest - error信息 1 [main] WARN com.xc.log.Log4jTest - warn信息 1 [main] INFO com.xc.log.Log4jTest - info信息 1 [main] DEBUG com.xc.log.Log4jTest - debug信息Log4j提供了8个级别的日志输出 ALL最低等级 用于打开所有级别的日志记录TRACE程序推进下的追踪信息这个追踪信息的日志级别非常低一般情况下是不会使用的DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的主要是配合开发在开发过程中打印一些重要的运行信息默认级别INFO消息的粗粒度级别运行信息WARN表示警告程序在运行过程中会出现的有可能会发生的隐形的错误ERROR系统的错误信息发生的错误不影响系统的运行 一般情况下如果不想输出太多的日志则使用该级别即可FATAL表示严重错误它是那种一旦发生系统就不可能继续运行的严重错误OFF最高等级的级别用户关闭所有的日志记录 四、Log4j自定义配置文件输出日志 Loader.getResource(log4j.properties)源码默认从类路径找 1、输出到控制台 resources目录下的log4j.properties文件 Test public void test02(){//自定义配置文件设置Appender输出方式和Layout输出格式Logger logger Logger.getLogger(Log4jTest.class);logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息); }输出结果 [FATAL ] [main] [2024-09-19 22:38:55:822] [com.xc.log.Log4jTest.test01(Log4jTest.java:18)] fatal信息 [ERROR ] [main] [2024-09-19 22:38:55:825] [com.xc.log.Log4jTest.test01(Log4jTest.java:19)] error信息 [WARN ] [main] [2024-09-19 22:38:55:825] [com.xc.log.Log4jTest.test01(Log4jTest.java:20)] warn信息 [INFO ] [main] [2024-09-19 22:38:55:825] [com.xc.log.Log4jTest.test01(Log4jTest.java:21)] info信息 2、输出到文件 resources目录下的log4j.properties文件 Test public void test03(){//输出到文件对于追加默认是trueLogger logger Logger.getLogger(Log4jTest.class);logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息); }输出结果 3、输出到数据库 创建表结构字段的制定可以根据需求进行调整 CREATE TABLE log (log_id int(11) NOT NULL AUTO_INCREMENT,project_name varchar(255) DEFAULT NULL COMMENT 目项名,create_date varchar(255) DEFAULT NULL COMMENT 创建时间,level varchar(255) DEFAULT NULL COMMENT 优先级,category varchar(255) DEFAULT NULL COMMENT 所在类的全名,file_name varchar(255) DEFAULT NULL COMMENT 输出日志消息产生时所在的文件名称 ,thread_name varchar(255) DEFAULT NULL COMMENT 日志事件的线程名,line varchar(255) DEFAULT NULL COMMENT 号行,all_category varchar(255) DEFAULT NULL COMMENT 日志事件的发生位置,message varchar(4000) DEFAULT NULL COMMENT 输出代码中指定的消息,PRIMARY KEY (log_id) );resources目录下的log4j.properties文件 Test public void test04(){//将日志持久化到数据库表中Logger logger Logger.getLogger(Log4jTest.class);logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息); }输出结果 五、Log4j自定义配置文件拆分日志 1、按照文件大小进行拆分 resources目录下的log4j.properties文件 Test public void test05(){Logger logger Logger.getLogger(Log4jTest.class);for (int i 0; i 10000; i) {logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息);} }第一次执行 第二次执行 最新日志在logFile.log文件中logFile.log.x数字越小日志越新先打印的日志会被先覆盖 如上第一次打印0123第二次打印中的45是第一次打印的0123被覆盖后东西01比23内容新23被覆盖那么45中剩余的就是01的内容 总之最新的内容覆盖最旧的内容 2、按照日期进行拆分 resources目录下的log4j.properties文件 Test public void test05(){//根据日期拆分Logger logger Logger.getLogger(Log4jTest.class);logger.fatal(fatal信息);logger.error(error信息);logger.warn(warn信息);logger.info(info信息);logger.debug(debug信息);logger.trace(trace信息); }这里使用的默认根据天拆分也可以根据小时分钟拆分今天是9.20日昨天的日志被添加到新文件logFile.log.2024-09-19中当天日志都会记录在logFile.log中 六、自定义配置文件中的logger 常规创建出来的Logger对象默认都是继承rootLogger的也可以自定义logger让其他logger来继承这个logger 如果根节点的logger和自定义logger配置的输出位置是不同的则取二者的并集配置的位置都会进行输出操作如果二者配置的日志级别不同以按照我们自定的logger的级别输出为主
http://www.zqtcl.cn/news/747992/

相关文章:

  • 小说投稿赚钱的网站网站后台管理系统多少钱
  • 中国建设银行国际互联网网站网站是用什么做的
  • 做建设网站的活的兼职网络推广专员的岗位职责是
  • 韩国 网站设计保定网站开发公司
  • 发外链的网站都要企业注册网站建设的基本概念
  • 网站管理员有哪些权限中文域名网站好不好优化
  • wordpress主题 资源站关闭wordpress自动更新
  • 网站排名怎么上去创建全国文明城市我们应该怎么做
  • 网站 ftp自助建站信息网
  • 做珠宝的网站wordpress获取相关文章
  • 网站开发视频 百度云视频资源的网站怎么做
  • 写出网站建设的基本流程鹤山市城乡住房建设部网站
  • 万网域名注册后如何做网站教学网络传奇游戏
  • 岳阳网站建设方案免费网站模板建设
  • 郑州响应式网站制作如何做公众号微信
  • 专业公司网站建设精准引流推广团队
  • 蔡甸建设局网站怎么用云校建设学校网站
  • 建立网站需要哪些东西软件开发流程包括
  • 网站的pdf目录怎么做的网站编写
  • 南宫企业做网站wordpress图片显示距离
  • 青岛红岛做网站百度怎么打广告
  • 凡科建站怎么建网站网络搭建是什么工作
  • wordpress支持国内视频的编辑器网站优化排名软件网站
  • 建设摩托官方网站南京做网站群的公司
  • 晋城城乡建设局网站设计网站公司选泽y湖南岚鸿询 问
  • 思坎普网站建设湘潭网站推广
  • 北京网站建设公司哪个最好做投标网站条件
  • 网站建设的成本有哪些内容怎么样制作网页
  • 怎么做网站的seo排名知乎茂名网站制作公司
  • 建安证查询网站官方网站建设对比