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

做网站一般什么价格广州网站建设需要多少费用

做网站一般什么价格,广州网站建设需要多少费用,大品牌设计公司,山东飞鸿建设集团网站使用SLF4J和Logback 前面介绍了Commons Logging 和Log4j 这一对好基友,它们一个负责充当日志 API,一个负责实现日志底层,搭配使用非常便于开发。 有的童鞋可能还听说过SLF4J和Logback。这两个东东看上去也像日志,它们又是啥&…

使用SLF4J和Logback

前面介绍了Commons LoggingLog4j 这一对好基友,它们一个负责充当日志 API,一个负责实现日志底层,搭配使用非常便于开发。

有的童鞋可能还听说过SLF4JLogback。这两个东东看上去也像日志,它们又是啥?

其实SLF4J类似于Commons Logging,也是一个日志接口,而Logback类似于Log4j,是一个日志的实现。

为什么有了Commons LoggingLog4j,又会蹦出来SLF4JLogback?这是因为Java有着非常悠久的开源历史,不但OpenJDK本身是开源的,而且我们用到的第三方库,几乎全部都是开源的。开源生态丰富的一个特定就是,同一个功能,可以找到若干种互相竞争的开源库。

因为对Commons Logging的接口不满意,有人就搞了SLF4J。因为对Log4j的性能不满意,有人就搞了Logback

我们先来看看SLF4JCommons Logging的接口有何改进。在Commons Logging中,我们要打印日志,有时候得这么写:

int score = 99;
p.setScore(score);
log.info("Set score " + score + " for Person " + p.getName() + " ok.");

拼字符串是一个非常麻烦的事情,所以SLF4J的日志接口改进成这样了:

int score = 99;
p.setScore(score);
logger.info("Set score {} for Person {} ok.", score, p.getName());

我们靠猜也能猜出来,SLF4J的日志接口传入的是一个带占位符的字符串,用后面的变量自动替换占位符,所以看起来更加自然。

如何使用SLF4J?它的接口实际上和Commons Logging几乎一模一样:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;class Main {final Logger logger = LoggerFactory.getLogger(getClass());
}

对比一下Commons LoggingSLF4J的接口:

Commons Logging	SLF4J
org.apache.commons.logging.Log	org.slf4j.Logger
org.apache.commons.logging.LogFactory	org.slf4j.LoggerFactory

不同之处就是Log变成了LoggerLogFactory变成了LoggerFactory

使用SLF4J和Logback和前面讲到的使用Commons LoggingLog4j是类似的,先分别下载SLF4JLogback,然后把以下jar包放到classpath下:

slf4j-api-1.7.x.jar
logback-classic-1.2.x.jar
logback-core-1.2.x.jar

然后使用SLF4J的Logger和LoggerFactory即可。和Log4j类似,我们仍然需要一个Logback的配置文件,把logback.xml放到classpath下,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern><charset>utf-8</charset></encoder><file>log/output.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>log/output.log.%i</fileNamePattern></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>1MB</MaxFileSize></triggeringPolicy></appender><root level="INFO"><appender-ref ref="CONSOLE" /><appender-ref ref="FILE" /></root>
</configuration>

运行即可获得类似如下的输出:

13:15:25.328 [main] INFO  com.itranswarp.learnjava.Main - Start process...

从目前的趋势来看,越来越多的开源项目从Commons Logging加Log4j转向了SLF4J加Logback。

小结

SLF4J Logback可以取代Commons LoggingLog4j

始终使用SLF4J的接口写入日志,使用Logback只需要配置,不需要修改代码。

http://www.yayakq.cn/news/126076/

相关文章:

  • 江苏省住房和建设部网站首页骨干专业群建设任务书网站
  • iis7 发布asp网站404怎么制作微信公众号文章
  • 新网站多久会被百度收录广西建设职业技术学院管理工程系网站2014考试前培训时间
  • 张掖艺能网站建设seo排名的公司
  • 做一个京东这样的网站需要多少钱wordpress 模板语言
  • wordpress的nginx404郑州百度网站快速优化
  • 安徽长江建设集团有限公司网站网站进不去怎么解决
  • 金融保险网站模板网站建设需要报告
  • 建设网站硬件需要中国十大装修公司
  • 如何建广告网站常见的搜索引擎
  • 网站想换个风格怎么做海丰网站制作
  • 深圳国内网站建设做网站应该注意哪些方面
  • 重庆学校网站推广.net网站费用
  • 建设工程消防设计备案网站益阳北京网站建设
  • 泰安做网站公司哪家比较好石家庄模板网站建设
  • 网站建设家乡网页设计模板正规网站建设公司一般要多少钱
  • 网站如何引导客户天元建设集团有限公司股票代码
  • 南京网站推广价格郑州网站推广平台
  • 聊城推广网站阿尔及利亚网站后缀
  • 成都市网站建设哪家好西宁网站建设西宁
  • 怎么做网站广告联盟有什么公司建网站
  • 济南中建设计院 官方网站怎么把几个网站做互通
  • 建设共享经济网站的可行性网站由哪三部分构成
  • 微信公众平台推广网站dw网站建设代码
  • 淘宝怎么做网站wordpress手机端边侧航栏
  • 建平台网站费用游戏发布网网站建设
  • 百度没有收录网站wordpress 添加编辑
  • 化工网站模板免费下载塑料公司网站建设方案
  • seo网站搭建wordpress首页定制
  • 荥阳网站建设多少钱高端网站设计报价表