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

电话销售怎么做 网站山东济南报备小程序

电话销售怎么做 网站,山东济南报备小程序,建网站卖东西,片头网站首先,Java日志框架可以分为两类:门面型日志框架和记录型日志框架。 门面型日志框架 JCL:Java日志接口,后更名为Commons LoggingSLF4J:是一套简易Java日志门面,本身并无日志的实现 记录型日志框架 JUL&a…

首先,Java日志框架可以分为两类:门面型日志框架和记录型日志框架。

门面型日志框架

  • JCL:Java日志接口,后更名为Commons Logging
  • SLF4J:是一套简易Java日志门面,本身并无日志的实现

记录型日志框架

  • JUL:JDK中的日志记录工具,自JDK1.4以来的官方日志实现
  • Log4j:基于Java的日志记录工具
  • Log4j2:
  • logBack:一个具体的日志实现框架,与SLF4J是同一个作者,但其性能更好。

下面主要介绍一下常用的Slf4j门面框架搭配各种记录型日志框架的基础配置方法。

不引入记录型日志框架:

如果我们项目中单纯只引入Slf4j,如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>log</artifactId><groupId>org.luxinfeng</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>slf4j</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.6</version></dependency></dependencies></project>

在执行日志记录时,会提示如下:即如果没有选定具体的记录型日志框架时,会使用默认的NOP实现,即什么都不输出。

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.

引入simple日志框架:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>log</artifactId><groupId>org.luxinfeng</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>slf4j</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.6</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>2.0.6</version></dependency></dependencies></project>

slf4j-simple是一个用于在Java程序中实现简单日志记录的组件,它使用简单的文本格式记录日志消息,并且不支持配置文件或其他高级功能,因此非常适合调试和开发环境。但是,如果需要对生产环境中的日志进行更严格的管理和控制,则可能需要使用其他更加复杂的日志实现。(slf4j-simple只支持INFO及以上级别的日志展示),示例如下。

public static void main(String[] args) {Logger logger = LoggerFactory.getLogger(Slf4jWithoutImpl.class);logger.info("Info message");logger.error("Error message");logger.warn("Warn message");logger.debug("Debug message");}

输出为

[main] INFO slf4j.Slf4jWithoutImpl - Info message
[main] ERROR slf4j.Slf4jWithoutImpl - Error message
[main] WARN slf4j.Slf4jWithoutImpl - Warn message

引入JUL(Java.util.logging)框架

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>log</artifactId><groupId>org.luxinfeng</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>slf4j</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.6</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-jdk14</artifactId><version>2.0.6</version></dependency></dependencies></project>

输出

二月 11, 2023 11:31:03 上午 slf4j.Slf4jWithoutImpl main
信息: Info message
二月 11, 2023 11:31:03 上午 slf4j.Slf4jWithoutImpl main
严重: Error message
二月 11, 2023 11:31:03 上午 slf4j.Slf4jWithoutImpl main
警告: Warn message

通过配置文件可以修改日志的展示形式。
创建配置文件logging.properties,然后在VM Options加上参数:-Djava.util.logging.config.file=C:\Users\123456\IdeaProjects\log\slf4j\src\main\resources\logging.properties(配置文件的绝对日志)
注意:java.util.logging中的日志等级与我们常用的有所区别,比如SEVERE对应的是ERROR,详情可见:https://ost.51cto.com/posts/235

handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = SEVERE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format= [%1$tF %1$tT] [%4$-7s] %3$s %5$s %n

修改配置文件后输出为:

[2023-02-11 21:49:46] [严重     ] slf4j.Slf4jWithoutImpl Error message 

引入LogBack框架

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>log</artifactId><groupId>org.luxinfeng</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>slf4j</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.6</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.3.5</version></dependency></dependencies></project>

输出:

22:09:50.477 [main] INFO slf4j.Slf4jWithoutImpl - Info message
22:09:50.477 [main] ERROR slf4j.Slf4jWithoutImpl - Error message
22:09:50.477 [main] WARN slf4j.Slf4jWithoutImpl - Warn message

配置文件
生成logback.xml文件,并放置到resources目录下。
日志级别:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--><property name="LOG_HOME" value="/home" /><!--控制台日志, 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!--文件日志, 按照每天生成日志文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 日志输出级别 --><root level="WARN"><appender-ref ref="STDOUT" /><appender-ref ref="FILE"/></root>
</configuration>

输出:

2023-02-11 22:22:35.547 [main] ERROR slf4j.Slf4jWithoutImpl - Error message
2023-02-11 22:22:35.547 [main] WARN  slf4j.Slf4jWithoutImpl - Warn message

引入Log4J2框架

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>log</artifactId><groupId>org.luxinfeng</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>slf4j</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.6</version></dependency><!--log4j2核心包--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.9.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.9.1</version></dependency><!--用于与slf4j保持桥接--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>2.0.6</version></dependency></dependencies></project>

配置文件:
在resources文件夹下创建文件:log4j.properties文件,文件内容为

log4j.rootLogger=ALL, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

输出:

2023-02-11 23:00:49,407 INFO [slf4j.Slf4jWithoutImpl] - Info message
2023-02-11 23:00:49,407 ERROR [slf4j.Slf4jWithoutImpl] - Error message
2023-02-11 23:00:49,407 WARN [slf4j.Slf4jWithoutImpl] - Warn message

参考文献

  1. https://www.slf4j.org/manual.html
  2. https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html
  3. https://segmentfault.com/a/1190000015802324
  4. https://juejin.cn/post/6905026199722917902
  5. https://www.cnblogs.com/gavincoder/p/10091757.html
  6. https://zhuanlan.zhihu.com/p/36554554
  7. https://developer.aliyun.com/article/852432
  8. https://www.jianshu.com/p/41e0a730347f
  9. https://stackoverflow.com/questions/34704267/log4j-logging-not-working
    10.https://blog.51cto.com/u_3664660/3213853
http://www.yayakq.cn/news/311953/

相关文章:

  • 企业网站建站软件二建专业有哪些专业
  • 网站如何选择服务器做服务网站发展背景
  • 网站建设方案的需求分析如何做百度免费推广
  • 网站建设 交易保障网页浏览器主要通过ftp协议
  • 用什么做网站的访问量统计wordpress 引用图片不显示
  • 西宁的网站设计简历电子模版免费下载
  • 品牌网站建设小蝌蚪c合肥营销网站建设联系方式
  • 做箱包关注哪个网站dede网站开发步骤
  • 可以做片头的网站桐城58网站在那里做
  • 安全中国asp.net网站开发项目实战培训班wordpress文章状态
  • 阿里云可以几个网站做别人一样的网站模板
  • 哪些网站页面简洁怎样查看网站备案号
  • 旅游网站html5代码模板个性化网站建设企业
  • 广州建设网站开发免费网站建设网站推广
  • 最好的网站设计开发公司网站优化公司排名深圳
  • 白酒网站模版做近代史纲要题的网站
  • 推荐几个用vue做的网站公司官网怎么做
  • 珠海手机网站建筑工程网上商城投标
  • 没有注册公司可以做网站吗外地公司做的网站能备案吗
  • 无锡营销网站建设珠海品牌机械网站建设
  • 海外网站服务器租用一般网站建设公司有哪些
  • 购物网站建设信息网站项目建设流程
  • 淘宝客网站免费模板下载wordpress 页面生成器
  • 网站建设 阳江wordpress主题在那个文件夹
  • 温州企业建站系统苏ICP备网站建设中企动力无锡
  • 长沙做网站 青创互联建设银行投诉网站
  • 网站被k申述管理系统中计算机应用
  • 网站制作时间表org后缀做网站行
  • 网站你懂我意思正能量appwordpress 列表模板
  • 网站建设用源码crm系统成功案例分享ppt