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

自己网站如何做关键词北京中燕建设公司网站

自己网站如何做关键词,北京中燕建设公司网站,苏州工业园区服务外包职业学院,网站建设与推广论文slf4j作用及其实现原理 SLF4J#xff08;Simple Logging Facade for Java#xff09;是一种日志框架的抽象层#xff0c;它并不是一个具体的日志实现#xff0c;而是一个接口或门面#xff08;Facade#xff09;#xff0c;旨在为各种不同的日志框架提供一个统一的API。… slf4j作用及其实现原理 SLF4JSimple Logging Facade for Java是一种日志框架的抽象层它并不是一个具体的日志实现而是一个接口或门面Facade旨在为各种不同的日志框架提供一个统一的API。以下是SLF4J的作用及其实现原理的详细说明 SLF4J的作用 统一的日志API SLF4J提供了一套通用的API允许开发人员在代码中使用相同的日志记录方法无论底层的日志实现是什么。 这样做可以提高代码的可移植性和可维护性因为更换日志框架只需要改变依赖关系而不需要修改代码中的日志调用。 避免绑定特定日志框架 开发人员不必在代码中直接引用特定的日志框架如Log4j, Logback等而是通过SLF4J的接口进行日志操作。 这种解耦使得在项目中切换日志框架变得更加容易减少了依赖锁定的问题。 性能优化 SLF4J设计时考虑到了性能因素例如它提供了条件日志记录功能只有当日志级别被启用时才会执行字符串拼接等昂贵的操作。 实现原理 桥接机制 SLF4J使用桥接器Bridge机制将日志调用转发给具体的日志框架实现。 当你引入SLF4J后还需要添加一个桥接器库例如slf4j-log4j12或slf4j-logback这取决于你想要使用的具体日志框架。 静态绑定 SLF4J通过静态绑定Static Binding来决定使用哪个具体的日志框架实现。这意味着在编译时SLF4J会检查类路径上的可用实现并选择其中一个。 如果没有找到任何实现SLF4J会退回到一个简单的实现slf4j-simple这通常只用于开发和测试环境。 动态绑定 尽管SLF4J主要使用静态绑定但在某些情况下它也支持动态绑定即在运行时更改日志框架的实现。不过这通常不推荐因为它可能会导致不可预测的行为。 日志级别 SLF4J支持多种日志级别包括TRACE, DEBUG, INFO, WARN, ERROR并且可以通过配置文件或编程方式设置每个类或包的日志级别。 通过上述机制SLF4J能够作为一个轻量级的门面为Java应用程序提供灵活、高效和统一的日志记录功能。 参考 https://www.cnblogs.com/xrq730/p/8619156.html logback详解 Logback 是一个高性能的日志框架专为 Java 平台设计由 Ceki Gülcü 创建他是 Log4j 的作者之一。Logback 作为 Log4j 的继承者不仅在性能上有所提升还提供了更强大的配置能力和更好的模块化设计。下面是 Logback 的详细解析 Logback 的组成部分 Logback 被分为三个模块 logback-core这是 Logback 的核心模块包含了所有基本的日志处理逻辑如日志事件、日志上下文和日志状态。 logback-classic构建在 logback-core 上实现了 SLF4J 的 API因此可以作为 SLF4J 的后端。同时它也兼容 Log4j 的 API为从 Log4j 迁移的应用提供了便利。 logback-access这是一个可选模块用于集成 Servlet 容器可以捕获 HTTP 请求和响应信息并将其记录到日志中。 Logback 的组件 Logback 的配置文件通常是 XML 格式由以下几种主要组件构成 Appender日志消息的目标可以是控制台、文件、数据库、网络等。常见的 Appender 包括 ConsoleAppender、FileAppender、RollingFileAppender 等。 Layout定义日志消息的格式。Logback 提供了多种 Layout如 PatternLayout、XMLLayout 等。 Encoder在 Logback 1.1 版本之后Layout 被 Encoder 替代用于控制日志消息的格式化。PatternLayoutEncoder 是最常用的 Encoder。 Logger代表一个日志类别通常与类名或包名对应。每个 Logger 都有一个日志级别如 TRACE、DEBUG、INFO、WARN、ERROR 等。 Root Logger是所有 Logger 的父类如果没有为特定的 Logger 设置日志级别则会继承 Root Logger 的日志级别。 Filter用于控制哪些日志事件应该被处理。Filter 可以基于日志级别、日志消息内容等条件过滤日志。 配置示例 见下文配置 性能优化 Logback 在设计时特别关注性能通过优化日志事件的处理流程和减少对象创建等方式提高了日志记录的速度。此外Logback 还支持异步日志记录进一步提升了高并发场景下的性能表现。 参考Java日志框架logback详解 - 五月的仓颉 - 博客园 (cnblogs.com) SpringBoot配置SLF4J日志全过程 在 Spring Boot 中配置 SLF4J (Simple Logging Facade for Java) 日志的过程通常包括以下几个步骤 1. 添加依赖 确保你的项目中有 SLF4J 和 Logback 的依赖。Spring Boot 默认会包含这些依赖但如果你使用的是自定义的配置或者老版本的 Spring Boot你可能需要在 Maven 或 Gradle 的构建文件中手动添加它们。 Maven 示例: dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId /dependency 2. 配置日志级别和输出 Spring Boot 使用 Logback 作为 SLF4J 的默认实现并且会在类路径下查找 logback.xml 或者 application.properties 文件来配置日志。 使用 logback.xml 创建一个名为 logback.xml 的文件在 src/main/resources 目录下然后在其中配置日志输出和日志级别。 示例配置 ?xml version1.0 encodingUTF-8? configuration!-- 日志存放路径 --property namelog.path value/Logger/logs /!-- 日志输出格式 --property namelog.pattern value%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n /!-- 控制台输出 --appender nameconsole classch.qos.logback.core.ConsoleAppenderencoderpattern${log.pattern}/pattern/encoder/appender!-- 系统日志输出 --appender namefile_info classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/sys-info.log/file!-- 循环政策基于时间创建日志文件 --rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!-- 日志文件名格式 --fileNamePattern${log.path}/sys-info.%d{yyyy-MM-dd}.log/fileNamePattern!-- 日志最大的历史 60天 --maxHistory60/maxHistory/rollingPolicyencoderpattern${log.pattern}/pattern/encoderfilter classch.qos.logback.classic.filter.LevelFilter!-- 过滤的级别 --levelINFO/level!-- 匹配时的操作接收记录 --onMatchACCEPT/onMatch!-- 不匹配时的操作拒绝不记录 --onMismatchDENY/onMismatch/filter/appenderappender namefile_debug classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/sys-debug.log/file!-- 循环政策基于时间创建日志文件 --rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!-- 日志文件名格式 --fileNamePattern${log.path}/sys-debug.%d{yyyy-MM-dd}.log/fileNamePattern!-- 日志最大的历史 60天 --maxHistory60/maxHistory/rollingPolicyencoderpattern${log.pattern}/pattern/encoderfilter classch.qos.logback.classic.filter.LevelFilter!-- 过滤的级别 --levelDEBUG/level!-- 匹配时的操作接收记录 --onMatchACCEPT/onMatch!-- 不匹配时的操作拒绝不记录 --onMismatchDENY/onMismatch/filter/appenderappender namefile_error classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/sys-error.log/file!-- 循环政策基于时间创建日志文件 --rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!-- 日志文件名格式 --fileNamePattern${log.path}/sys-error.%d{yyyy-MM-dd}.log/fileNamePattern!-- 日志最大的历史 60天 --maxHistory60/maxHistory/rollingPolicyencoderpattern${log.pattern}/pattern/encoderfilter classch.qos.logback.classic.filter.LevelFilter!-- 过滤的级别 --levelERROR/level!-- 匹配时的操作接收记录 --onMatchACCEPT/onMatch!-- 不匹配时的操作拒绝不记录 --onMismatchDENY/onMismatch/filter/appender!-- 用户访问日志输出 --appender namesys-user classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/sys-user.log/filerollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!-- 按天回滚 daily --fileNamePattern${log.path}/sys-user.%d{yyyy-MM-dd}.log/fileNamePattern!-- 日志最大的历史 60天 --maxHistory60/maxHistory/rollingPolicyencoderpattern${log.pattern}/pattern/encoder/appender!-- 系统模块日志级别控制 --logger namecom.hm levelinfo /!-- Spring日志级别控制 --logger nameorg.springframework levelwarn /root levelinfoappender-ref refconsole //root!--系统操作日志--root levelinfoappender-ref reffile_info /appender-ref reffile_error /appender-ref reffile_debug //root!--系统用户操作日志--logger namesys-user levelinfoappender-ref refsys-user//logger /configuration3. 使用 SLF4J API 记录日志 在你的 Java 类中使用 SLF4J 的 Logger API 来记录日志。 示例代码 import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class ExampleService {private static final Logger logger LoggerFactory.getLogger(ExampleService.class);public void doSomething() {logger.info(Doing something...);} }4. 测试日志输出 运行你的应用程序并检查控制台输出和日志文件确认日志是否按照预期被记录。 以上就是 Spring Boot 中配置 SLF4J 日志的全过程。你可以根据实际需求调整日志级别、输出格式和目标位置。 检查项目所在盘的/Logger/logs目录是否有日志文件即可。 参考 SpringBoot配置SLF4J日志全过程_java_脚本之家
http://www.dnsts.com.cn/news/84987.html

相关文章:

  • 建设厅安检局网站给 wordpress category (分类)添加字段
  • 顺义做网站的厂家wordpress迅雷插件下载
  • 安徽工业大学两学一做网站工作细胞第一季免费
  • 模板手机网站建设价格明细表做二手网站有哪些问题
  • 摄影网站模板下载企业信用不良记录查询
  • 做PS的赚钱的网站在线crm客户关系管理
  • 商品网站建设实验格式中国建设网建设通
  • 做义齿雕刻设备的网站2023还能上的网站
  • 阜南做网站公司网站制作验收单
  • 辽宁省建设机械协会官方网站成品网站的安装教程
  • 网站开发公司上在中国做国外网站
  • 嘉兴网站设计999 999最新网站开发软件
  • 怎么建设网站容易被百度抓取googl浏览器做桌面版网站
  • 如何做好一个外贸网站的编辑网站开发留学
  • 重庆多功能网站建设thinkphp 网站根目录地址
  • 厦门网站推广¥做下拉去118cr济南网站优化哪里做的好
  • 中间商可以做网站吗指数基金是什么意思
  • 学做网站知识大理企业网站建设
  • 桂林本地网站电子商务网站建设与管理相关论文
  • asp网站怎么打开网站设计与制作的过程
  • 绍兴建设局网站首页怎么把凡科网里做的网站保存成文件
  • 在线搭建网站建设热电偶网站
  • wordpress网站第一次打开慢wordpress 客户
  • 制作做的网站如何上传网上德州网站建设价格
  • 网站建站推荐潍坊专业联轴器收购价格
  • 做个中英文网站多少钱wordpress自动同步
  • 微服务网站开发小程序怎么开
  • 网站做优化需要多少钱便宜网站建设模板网站
  • 怎样做 网站做seo荆州网站seo
  • 58做网站一年多少钱免费自助设计网站