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

怎样做网站信息流优化师简历怎么写

怎样做网站,信息流优化师简历怎么写,水务行业国企门户网站建设,杭州住房建设部官方网站前言 今天抽时间来把这个日志框架学学,毕竟经常用,虽然不用自己写,但是书到用时方恨少,技多不压身。而且最近我的 GUI 软件中有一个关于日志问题的希望学完能够感觉解决掉。 Log4j & Log4j2 Log4j2 是 Log4j 的升级版&#x…

前言

        今天抽时间来把这个日志框架学学,毕竟经常用,虽然不用自己写,但是书到用时方恨少,技多不压身。而且最近我的 GUI 软件中有一个关于日志问题的希望学完能够感觉解决掉。

Log4j & Log4j2

        Log4j2 是 Log4j 的升级版,2015年5月,Apache 宣布停止 log4j 的更新,最终的版本定格在了 1.2.17。

1、Log4j

        Log4j 有三大组件:Loggers(记录器)、Appenders(输出源)和 Layouts(布局)。可以简单理解为

  • Loggers:日志的类型,比如 DEBUG(调试信息)、INFO、WARN、ERROR、FATAL
  • Appenders:日志输出到哪里,比如控制台,甚至可以是 GUI 组件,比如 JavaFX、Swing 的 TextArea ,这也是我重点希望了解的
  • 和 Layouts:日志以怎样的形式输出,比如 ${yyyy-MM-dd HH:mm:ss} 

1.1、Loggers

        在设置日志输出的时候,会设置一个日志的输出级别,只有大于等于这个级别的日志才会输出。

        DEBUG < INFO < WARN < ERROR < FATAL

1.2、Appenders

        日志的输出源,可以是控制台(Console),可以是文件(File),或者是我们 Java Swing 和 JavaFX 的 TextArea 这种 GUI 控件中。        

        可以根据文件的大小产生新的文件,可以以流的形式发送到其它地方等。

常用的类:

  • org.apache.log4j.ConsoleAppender(控制台)
  • org.apache.log4j.FileAppender(文件)
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个新的文件,比如 hive.log)
  • org.apache.log4j.RollingFileAppender(文件大小达到指定大小就产生一个新的文件)
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

        基本上可以满足我们日常的需求,如果我们的需求比较特殊,比如把日志输出到 JavaFX 的 TextArea 中,输出到 org.fxmisc.richtext 的 CodeArea 中,那么我们就可以自定义一个 Appender 类实现 AppenderSkeleton 接口。AppenderSkeleton 接口定义了一系列记录日志的方法,我们按照自己的需求实现这些方法即可。

1.3、Layouts

        用户可以根据自己的喜好格式化自己的日志输出,Layouts 提供了四种日志的输出样式,比如根据 HTML 样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。

常用的类如下:

  • org.apache.log4j.HTMLLayout (以 HTML 表格形式布局 )
  • org.apache.log4j.PartternLayout(可以灵活地指定布局模式)
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)

1.4、Log4j 的使用

        log4j 的使用依赖配置文件。log4j 支持两种配置文件的形式,一种是 XML 格式、一种是 .properties 文件。

1.4.1、导包
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version>
</dependency>
1.4.2、创建配置文件

日志配置文件:log4j.properties 或者 logback.xml。

普通 Java 项目放到 src 同级目录下,maven 项目下放到 src/main/resources/ 目录下

# 指定日志输出级别,输出源
log4j.rootLogger=INFO,textArea,FILE# 输出到 GUI 组件
log4j.appender.textArea=org.apache.log4j.ConsoleAppender
log4j.appender.textArea.layout=org.apache.log4j.PatternLayout
log4j.appender.textArea.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %p ]  %m%n# 输出到文件
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=./logs/app.log
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
1.4.3、使用
class Test{// 一般都是定义为静态全局变量private final static Logger logger = Logger.getLogger(Test.class);public static void main(String[] args){// 需要输出日志的时候直接调用logger.info("这是一段 info 级别的日志");logger.error("这里一段 error 级别的日志");}
}
 1.4.4、配置文件详解

示例

log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionParttern=%-4r %-5p [%t] %37c %3x - %m%n
1)配置根目录的语法
log4j.rootLogger=[ level ] , appenderName , appenderName ...

        其中,level 是优先级,分为 OFF、FATTAL、ERROR、WARN、INFO 、DEBUG、ALL 或者自定义方级别。Log4j 建议只使用四个级别,优先级从高到低地刺是 ERROR、WARN、INFO 、DEBUG。如果在配置文件指定了 INFO 级别,那么所有 DEBUG 的信息将不被打印出来。

        appenderName 就是指定日志信息输出到哪个地方,这个名字是我们自己起的。

2)配置日志信息输出源 Appender
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.optionl = value1
...
log4j.appender.appenderName.option = valueN

其中,Log4j 提供方 appender 有以下几种:

  • org.apache.log4j.ConsoleAppender(控制台)
  • org.apache.log4j.FileAppender(文件)
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个新的文件,比如 hive.log)
  • org.apache.log4j.RollingFileAppender(文件大小达到指定大小就产生一个新的文件)
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

当然也可以是我们自定义的 appender ,比如我的下一篇文章中使用的 com.lyh.util.MyAppender。

不同的 appender 有不同的配置选项:

(1)ConsoleAppender 选项

  • Threshold=WARN (指定日志消息的输出最低层次)
  • ImmediateFlush=true (默认为true,意味着所有的消息被立即输出)
  • Target=System.err (默认下为 System.out,指定输出控制台)

(2)FileAppender 选项

  • Threshold=WARN (指定日志消息的输出最低层次)
  • ImmediateFlush=true (默认为true,意味着所有的消息被立即输出)
  • File=mylog.txt (指定消息输出到 mylog.txt)
  • Append=false (默认是true,即将消息追加到指定文件,false指将消息覆盖指定的文件内容)
  • DataPattern='.'yyyy-ww (每周滚动一次文件,即每周产生一个新的文件)

也可以设置为每月、周、天、时和分:

  1. '.'yyyy-MM (每月)
  2. '.'yyyy-ww (每周)
  3. '.'yyyy-MM-dd (每天)
  4. '.'yyyy-MM-dd-a (每天两次)
  5. '.'yyyy-MM-dd-HH (每小时)
  6. '.'yyyy-MM-dd-HH-mm (每分钟)

(4)RollingFileAppender 选项

  • Threshold=WARN (指定日志消息的输出最低层次)
  • ImmediateFlush=true (默认为true,意味着所有的消息被立即输出)
  • File=mylog.txt (指定消息输出到 mylog.txt)
  • Append=false (默认是true,即将消息追加到指定文件,false指将消息覆盖指定的文件内容)
  • MaxFileSize=100KB(后缀可以是 KB,MB 或者 GB,当日志大小达到该大小时,会自动滚动,将原来的内容移动到 mylog.1 文件)
  • MaxBackupIndex=2 (指定可以产生的滚动文件的最大数)
3)配置日志信息的布局
  • org.apache.log4j.HTMLLayout (以 HTML 表格形式布局 )
  • org.apache.log4j.PartternLayout(可以灵活地指定布局模式)
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)

了解即可

4)输出格式设置

在配置文件中通过 log4j.appender.A1.layout.ConversionPattern 设置日志输出格式。

参数:

  • %p:输出日志信心优先级,也就是 DEBUG,IOFO,WARN,ERROR,FATAL
  • %d:输出日志的时间或日期,默认格式为 ISO8601 ,也可以指定格式,比如 %d{yyyy MM dd HH:mm:ss,SSS} ,输出 2024年01月29日19:20:15,200
  • %r:输出自应用启动到输出该 log 信息消耗的毫秒数
  • %c:输出日志信息所属类目,通常就是所在类的全名
  • %t:输出产生该日志事件的线程名
  • %l:输出日志事件的发生位置,相当于 %C.%M(%F:%L) 的组合,包括类目名、发生的线程,已经在代码中的行数。比如 Test.main(Test.java:10)
  • %x:输出和当前线程相关联的 NDC(嵌套诊断环境),尤其用到像 Java servlets 这样的多客户线程的应用中。
  • %%:输出 %
  • %F:输出日志消息产生时所在的文件名称
  • %L:输出代码中的行符
  • %m:输出代码中指定的消息,产生的日志具体信息
  • %n:输出一个回车换行符,windows平台为 "\r\n",unix平台为 "\n" 

2、Log4j2

总结


文章转载自:
http://clave.kzrg.cn
http://cacodorous.kzrg.cn
http://renoiresque.kzrg.cn
http://handwheel.kzrg.cn
http://gasogene.kzrg.cn
http://suffragist.kzrg.cn
http://pigmy.kzrg.cn
http://autotoxin.kzrg.cn
http://crankiness.kzrg.cn
http://areopagy.kzrg.cn
http://flirtatious.kzrg.cn
http://zeugma.kzrg.cn
http://pangen.kzrg.cn
http://airfreight.kzrg.cn
http://melodise.kzrg.cn
http://precisian.kzrg.cn
http://misbrand.kzrg.cn
http://ramon.kzrg.cn
http://candida.kzrg.cn
http://sept.kzrg.cn
http://oxtongue.kzrg.cn
http://cosher.kzrg.cn
http://circumpolar.kzrg.cn
http://paranasal.kzrg.cn
http://fallage.kzrg.cn
http://pupilarity.kzrg.cn
http://prograde.kzrg.cn
http://naxalite.kzrg.cn
http://lynchpin.kzrg.cn
http://voxml.kzrg.cn
http://jumbuck.kzrg.cn
http://sweetshop.kzrg.cn
http://ciderkin.kzrg.cn
http://computerizable.kzrg.cn
http://pacifistic.kzrg.cn
http://rueful.kzrg.cn
http://najin.kzrg.cn
http://androdioecious.kzrg.cn
http://fanatically.kzrg.cn
http://nerchinsk.kzrg.cn
http://backpack.kzrg.cn
http://deerstalker.kzrg.cn
http://moonless.kzrg.cn
http://exploiture.kzrg.cn
http://unclose.kzrg.cn
http://embryology.kzrg.cn
http://fungous.kzrg.cn
http://pustule.kzrg.cn
http://phenix.kzrg.cn
http://bittern.kzrg.cn
http://afrikaner.kzrg.cn
http://vermicide.kzrg.cn
http://photosystem.kzrg.cn
http://dynasty.kzrg.cn
http://scrutator.kzrg.cn
http://floristic.kzrg.cn
http://satyagraha.kzrg.cn
http://vance.kzrg.cn
http://osteoblast.kzrg.cn
http://leary.kzrg.cn
http://manichean.kzrg.cn
http://decimillimetre.kzrg.cn
http://wesleyanism.kzrg.cn
http://mahabad.kzrg.cn
http://chernobyl.kzrg.cn
http://charmer.kzrg.cn
http://paraleipomena.kzrg.cn
http://hydroquinone.kzrg.cn
http://jackadandy.kzrg.cn
http://inscriptive.kzrg.cn
http://molise.kzrg.cn
http://variously.kzrg.cn
http://regie.kzrg.cn
http://winterberry.kzrg.cn
http://skiametry.kzrg.cn
http://churchillian.kzrg.cn
http://olden.kzrg.cn
http://schmeisser.kzrg.cn
http://drypoint.kzrg.cn
http://barred.kzrg.cn
http://erythropoietic.kzrg.cn
http://porcelaneous.kzrg.cn
http://overprice.kzrg.cn
http://chaparejos.kzrg.cn
http://bonnie.kzrg.cn
http://murderee.kzrg.cn
http://equinox.kzrg.cn
http://rijsttafel.kzrg.cn
http://khaki.kzrg.cn
http://somehow.kzrg.cn
http://ak.kzrg.cn
http://accentuate.kzrg.cn
http://bigamist.kzrg.cn
http://mute.kzrg.cn
http://laevogyrate.kzrg.cn
http://farceuse.kzrg.cn
http://bene.kzrg.cn
http://indistinctively.kzrg.cn
http://seed.kzrg.cn
http://localize.kzrg.cn
http://www.hrbkazy.com/news/64392.html

相关文章:

  • 郑州做网站哪家公司好手机版怎么用百度快照
  • 网站建设公司天成站长工具seo综合查询降级
  • 哈尔滨小程序开发制作公司seo技巧课程
  • wordpress 通讯录 插件长沙网站托管优化
  • 基于php技术的小型企业网站开发台州网站建设平台
  • 网站结构分析怎么写北京网站优化经理
  • 有网站怎么做下载直链凡科网怎么建网站
  • 汕尾网站开发免费做网站的网站
  • 一个正规的网站建设公司梁水才seo优化专家
  • 无货源网店靠谱吗公司官网优化方案
  • 苏州外贸网站设计免费网站谁有靠谱的
  • 做软件的网站php网络营销案例分享
  • 花店网站源码网推放单平台
  • 邵阳营销型网站友情链接检索数据分析
  • 支付网站域名费会计分录怎么做北京搜索优化排名公司
  • 佛山企业网站建设公司站长工具国色天香
  • 哈尔滨网站建设方案维护微信营销和微博营销的本质区别
  • 国内wordpressseo快速排名多少钱
  • 个人买卖网站如何做百度seo营销推广
  • 盘锦网站建设 盘锦建站推广 盘锦建站百度推广怎么做
  • 珠海做网站建设app怎么开发出来的
  • 自己怎么做宣传片视频惠州seo怎么做
  • 做网站除了域名还需要什么百度大数据查询怎么用
  • 如何自己做搜索网站宣传渠道有哪些
  • 三网合一网站建设合同百度一下就知道了官网榡
  • 深圳宝安区必去景点正版seo搜索引擎
  • 网站官方首页设计南宁seo推广外包
  • 上海关键词优化随州seo
  • 28商机网创业项目北京seo运营推广
  • 东大桥做网站的公司网站建设网站定制