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

建设部网站取消园林资质wordpress插件 七牛

建设部网站取消园林资质,wordpress插件 七牛,简易php企业网站源码,wordpress 弹出 广告文章目录1. Log4j2入门2. Log4j2配置3. Log4j2异步日志4. Log4j2的性能Apache Log4j 2是对Log4j的升级版#xff0c;参考了logback的一些优秀的设计#xff0c;并且修复了一些问题#xff0c;因此带 来了一些重大的提升#xff0c;主要有#xff1a; 异常处理#xff0c… 文章目录1. Log4j2入门2. Log4j2配置3. Log4j2异步日志4. Log4j2的性能Apache Log4j 2是对Log4j的升级版参考了logback的一些优秀的设计并且修复了一些问题因此带 来了一些重大的提升主要有 异常处理在logback中Appender中的异常不会被应用感知到但是在log4j2中提供了一些异常处理机制。性能提升 log4j2相较于log4j 和logback都具有很明显的性能提升后面会有官方测试的数据。自动重载配置参考了logback的设计当然会提供自动刷新参数配置最实用的就是我们在生产上可以动态的修改日志的级别而不需要重启应用。无垃圾机制log4j2在大部分情况下都可以使用其设计的一套无垃圾机制避免频繁的日志收集 导致的jvm gc。 官网 https://logging.apache.org/log4j/2.x/ 1. Log4j2入门 目前市面上最主流的日志门面就是SLF4J虽然Log4j2也是日志门面因为它的日志实现功能非常强 大性能优越。所以大家一般还是将Log4j2看作是日志的实现Slf4j Log4j2应该是未来的大势所趋。 使用log4j2作为日志门面和日志的实现 !--log4j2 日志门面--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.17.2/version/dependency!--log4j2 日志实现--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.17.2/version/dependencylog4j.xml ?xml version1.0 encodingUTF-8? Configuration statuswarn monitorInterval5propertiesproperty nameLOG_HOMED:/logs/property/propertiesAppendersConsole nameConsole targetSYSTEM_OUTPatternLayout pattern%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n //ConsoleFile namefile fileName${LOG_HOME}/myfile.logPatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n //FileRandomAccessFile nameaccessFile fileName${LOG_HOME}/myAcclog.logPatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n //RandomAccessFileRollingFile namerollingFile fileName${LOG_HOME}/myrollog.logfilePatternD:/logs/$${date:yyyy-MM-dd}/myrollog-%d{yyyy-MM-dd-HH-mm}-%i.logThresholdFilter leveldebug onMatchACCEPT onMismatchDENY /PatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %msg%n /PoliciesOnStartupTriggeringPolicy /SizeBasedTriggeringPolicy size10 MB /TimeBasedTriggeringPolicy //PoliciesDefaultRolloverStrategy max30 //RollingFile/AppendersLoggersRoot leveltraceAppenderRef refConsole //Root/Loggers /Configuration public class Log4j2Test {public static final Logger LOGGER LogManager.getLogger(Log4j2Test.class);Testpublic void test1() {LOGGER.fatal(fatal);LOGGER.error(error);LOGGER.warn(warn);LOGGER.info(info);LOGGER.debug(debug);LOGGER.trace(trace);}}使用slf4j作为日志门面log4j为日志的实现 !--slf4j作为日志门面-- dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.36/version /dependency!--log4j2的适配器进行绑定-- dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j-impl/artifactIdversion2.13.2/version /dependencypublic class Log4j2Test {public static final Logger LOGGER LogManager.getLogger(Log4j2Test.class);Testpublic void test1() {LOGGER.fatal(fatal);LOGGER.error(error);LOGGER.warn(warn);LOGGER.info(info);LOGGER.debug(debug);LOGGER.trace(trace);}}2. Log4j2配置 log4j2默认加载 classpath下的 log4j2.xml 文件中的配置 ?xml version1.0 encodingUTF-8? Configuration statuswarn monitorInterval5!--集中配置属性进行管理使用时通过${name}--propertiesproperty nameLOG_HOMED:/logs/property/properties!--日志处理器--Appenders!--控制台输出 appender输出红色的字体可以使用 SYSTEM_ERR--Console nameConsole targetSYSTEM_OUTPatternLayout pattern%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n //Console!--日志文件输出 appender--File namefile fileName${LOG_HOME}/myfile.logPatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n //File!--使用随机读写流日志文件输出 appender性能有所提高--RandomAccessFile nameaccessFile fileName${LOG_HOME}/myAcclog.logPatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n //RandomAccessFile!--按照一定的规则拆分日志文件的appender--RollingFile namerollingFile fileName${LOG_HOME}/myrollog.logfilePatternD:/logs/$${date:yyyy-MM-dd}/myrollog-%d{yyyy-MM-dd-HH-mm}-%i.log!--日志级别的过滤器--ThresholdFilter leveldebug onMatchACCEPT onMismatchDENY /!--日志消息格式--PatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %msg%n /Policies!--在系统启动时触发拆分规则生成一个新的日志文件--OnStartupTriggeringPolicy /!--按照文件大小拆分--SizeBasedTriggeringPolicy size10 MB /!--按照时间节点拆分规则根据filePattern来定义--TimeBasedTriggeringPolicy //Policies!--在同一个目录下文件个数限定为30个超过后就会进行覆盖--DefaultRolloverStrategy max30 //RollingFile/Appenders!--logger自定义--Loggers!--使用 rootLogger 配置日志级别为 trace--Root leveltrace!--指定日志输出--AppenderRef refConsole //Root/Loggers /Configuration 3. Log4j2异步日志 同步日志 异步日志 log4j2最大的特点就是异步日志其性能的提升主要也是从异步日志中受益 Log4j2提供了两种实现日志的方式AsyncAppender和AsyncLogger分别对应上述Appender组件和Logger组件 注意配置异步日志需要添加依赖 !--异步日志依赖-- dependencygroupIdcom.lmax/groupIdartifactIddisruptor/artifactIdversion3.3.4/version /dependencyAsyncAppender方式 Appenders !--控制台输出 appender 输出红色的字体可以使用 SYSTEM_ERR-- Console nameConsole targetSYSTEM_OUTPatternLayout pattern%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n / /Console !--日志文件输出 appender-- File namefile fileName${LOG_HOME}/myfile.logPatternLayout pattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n / /FileAsync nameAsyncAppenderRef reffile/ /Async/Appenders!--使用异步 appender-- AppenderRef refAsync/AsyncLogger方式 AsyncLogger才是log4j2 的重头戏也是官方推荐的异步方式。它可以使得调用Logger.log返回的更快可以有两种选择全局异步和混合异步。全局异步所有的日志都异步的记录在配置文件上不用做任何改动只需要添加一个log4j2.component.properties 配置 Log4jContextSelectororg.apache.logging.log4j.core.async.AsyncLoggerContextSelector混合异步可以在应用中同时使用同步日志和异步日志这使得日志的配置方式更加灵活 ?xml version1.0 encodingUTF-8? Configuration statusWARN propertiesproperty nameLOG_HOMED:/logs/property /properties Appenders File namefile fileName${LOG_HOME}/myfile.log PatternLayoutPattern%d %p %c{1.} [%t] %m%n/Pattern /PatternLayout /File Async nameAsyncAppenderRef reffile/ /Async /Appenders LoggersAsyncLogger namecom.xdr630 leveltrace includeLocationfalse additivityfalseAppenderRef reffile//AsyncLoggerRoot levelinfo includeLocationtrueAppenderRef reffile//Root /Loggers /Configuration如上配置 com.xdr630 日志是异步的root 日志是同步的使用异步日志需要注意的问题 如果使用异步日志AsyncAppender、AsyncLogger和全局日志不要同时出现。性能会和 AsyncAppender一致降至最低设置 includeLocationfalse 打印位置信息会急剧降低异步日志的性能比同步日志还要慢 4. Log4j2的性能 Log4j2最牛的地方在于异步输出日志时的性能表现Log4j2在多线程的环境下吞吐量与Log4j和Logback的比较中Log4j2有三种模式 1全局使用异步模式 2部分Logger采用异步模式 3异步Appender。在前两种模式下Log4j2的性能较之Log4j和Logback有很大的优势 无垃圾记录 1、垃圾收集暂停是延迟峰值的常见原因并且对于许多系统而言花费大量精力来控制这些暂停 2、许多日志库包括以前版本的Log4j在稳态日志记录期间分配临时对象如日志事件对象字符串字符数组字节数组等。这会对垃圾收集器造成压力并增加GC暂停发生的频率 3、从版本2.6开始默认情况下Log4j以“无垃圾”模式运行其中重用对象和缓冲区并且尽可能不分配临时对象。还有一个“低垃圾”模式它不是完全无垃圾但不使用ThreadLocal字段 4、Log4j 2.6中的无垃圾日志记录部分通过重用ThreadLocal字段中的对象来实现部分通过在将文本转换为字节时重用缓冲区来实现 使用Log4j 2.5内存分配速率809 MB /秒141个无效集合 使用Log4j 2.6没有分配临时对象0零垃圾回收 有两个单独的系统属性可用于手动控制Log4j用于避免创建临时对象的机制 log4j2.enableThreadlocals - 如果为“true”非Web应用程序的默认值对象存储在ThreadLocal字段中并重新使用否则将为每个日志事件创建新对象log4j2.enableDirectEncoders - 如果将“true”默认日志事件转换为文本则将此文本转换为字节而不创建临时对象。注意 由于共享缓冲区上的同步在此模式下多线程应用程序的同步日志记录性能可能更差。如果应用程序是多线程的并且日志记录性能很重要请考虑使用异步记录器。
http://www.w-s-a.com/news/891830/

相关文章:

  • 青岛网站建设服务器wordpress迁移跳转原网站
  • 泰安网站建设哪里有公司如何注册网站
  • 做网站开专票税钱是多少个点上海市有哪些公司
  • 寿县有做网站开发的吗宁波网站建设方式
  • 网站建设和网站推广服务器怎么发布网站
  • 比较好的摄影网站雅安市政建设公司网站
  • 网站与微信区别wordpress 站内信
  • 宁夏网站开发设计说明书源码下载脚本之家
  • 邱县做网站百度搜索排名机制
  • 运城个人网站建设智慧团建系统官方网站登录
  • 公司营业执照可以做几个网站一家专门做母婴的网站
  • 网站建设商标属于哪个类别搜狗seo快速排名公司
  • 织梦做商城网站企业网络建站
  • 网站后期维护都有什么wordpress首页加图片
  • 展会网站怎么做网页设计与制作教程版徐洪亮课后答案
  • 石景山网站建设设计公司建设网站怎么建立服务器
  • 本地生活服务平台app网站关键词优化原理
  • 建网站的公司叫什么重庆论坛建站模板
  • 湖北网站制作公司银川网站建设哪家不错
  • 网站后台演示地址服装网站建设公司推荐
  • 湖北钟祥建设局网站旅游哪个网站最好
  • 浙江建设工程信息网站辽宁建设工程信息网场内业绩什么意思
  • 郑州做网站公司 汉狮网络专业图片搜集网站怎么做
  • 网站托管是什么品牌推广营销平台
  • 制作网站的难度贵州省兴义市建设局网站
  • 永春建设局网站室内设计师培训班学费多少
  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司