zoukankan      html  css  js  c++  java
  • Xitrum学习笔记18

    直接使用xitrum.Log对象

    任何地方都可以直接使用xitrum.Log

    xitrum.Log.debug("My debug msg")
    xitrum.Log.info("My info msg")
    ...

    使用xitrum.Log特质

    如果想获得log在哪里创建的信息,应该继承xitrum.Log特质

    package my_package
    import xitrum.Log
      object MyModel extends Log {
        log.debug("My debug msg")
        log.info("My info msg")
        ...
    }

    在log/xitrum.log中,能看到从MyModel发过来的log信息

    Xitrum的action扩展了xitrum.Log,所以在action中可以写下面的代码

    log.debug("Hello World")

    在打log以前不要查看log级别

    xitrum.Log基于SLF4S(API),继而基于SLF4J。

    习惯上,在运行大计算量的程序并打印结果到log之前,会检查log等级以避免浪费CPU。(这个检查log等级的理由没明白

    SLF4S会自动做检查,所以我们不必自己做检查。

    在Xitrum3.13之前:

    if (log.isTraceEnabled) {
      val result = heavyCalculation()
      log.trace("Output: {}", result)
    }

    Xitrum3.13及以后

    log.trace(s"Output: #{heavyCalculation()}")

    配置日志等级,将日志输出到文件

    在build.sbt中,配置代码

    libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.2"

    Xitrum默认使用Logback,Logback配置文件是config/logback.xml。

    可以用SLF4J的实现来代替Logback。

    Logback简介:

    logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。

    logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。

    logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。

    把日志发送到Fluentd

    Fluentd是一个非常流行的日志收集器(官网http://www.fluentd.org/)。

    可以配置Logback把log(也许从很多地方)发送到Fluentd服务器中。

    首先,添加 logback-more-appenders库到项目中:

    libraryDependencies += "org.fluentd" % "fluent-logger" % "0.2.11"
    resolvers += "Logback more appenders" at "http://sndyuk.github.com/maven"
    libraryDependencies += "com.sndyuk" % "logback-more-appenders" % "1.1.0"

    然后,在config/logback.xml

    ...
    <appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
      <tag>mytag</tag>
      <label>mylabel</label>
      <remoteHost>localhost</remoteHost>
      <port>24224</port>
      <maxQueueSize>20000</maxQueueSize> <!-- Save to memory when remote server is down -->
    </appender>
    <root level="DEBUG">
      <appender-ref ref="FLUENT"/>
      <appender-ref ref="OTHER_APPENDER"/>
    </root>
    ...
  • 相关阅读:
    IIS请求筛选模块被配置为拒绝超过请求内容长度的请求(转)
    解决Android AVD启动报错问题
    找新朋友
    【枚举】【SDOI 2011】【bzoj 2241】打地鼠
    Invalidate、RedrawWindow与UpdateWindow的差别
    蓝牙DA14580开发:固件格式、二次引导和烧写
    【C/C++学院】0723-32位与64位/调戏窗体程序/数据分离算法/内存检索/二分查找法/myVC
    Maven 使用 二——nexus
    Linux程序编译链接动态库版本号的问题
    Key-Value Observing (键值监測)
  • 原文地址:https://www.cnblogs.com/sunspeedzy/p/6862299.html
Copyright © 2011-2022 走看看