如何在配置文件中使用log4go?

时间:2019-02-25 10:43:14

标签: go logging

我一直在尝试在golang中使用log4go。但是我找不到使用log4go配置属性(例如rotation,maxSize等)创建记录器的正确示例。有人可以提供例子吗?我已经提到了很多网站。

2 个答案:

答案 0 :(得分:0)

log4go的文档记录不充分,我在original repository中找到了一些文档。
如果可以,我将使用logrus之类的其他库,该库具有更好的文档和示例,并且会积极开发。

答案 1 :(得分:0)

简单的方法是使用logConfig xml,例如:

<code>
    <logging>
    <filter enabled="true">
      <tag>stdout</tag>
      <type>console</type>
      <!-- level is (:?FINEST|FINE|DEBUG|TRACE|INFO|WARNING|ERROR) -->
      <level>INFO</level>
      </filter>
      <filter enabled="true">
            <tag>file</tag>
            <type>file</type>
            <level>INFO</level>
            <property name="filename"><log file Path></property>

            <!--
              %T - Time (15:04:05 MST)
              %t - Time (15:04)
              %D - Date (2006/01/02)
              %d - Date (01/02/06)
              %L - Level (FNST, FINE, DEBG, TRAC, WARN, EROR, CRIT)
              %S - Source
              %M - Message
              It ignores unknown format strings (and removes them)
              Recommended: "[%D %T] [%L] (%S) %M"
            -->
            <property name="format">[%D %T] [%L] (%S) %M</property>
            <property name="rotate">true</property> <!-- true enables log rotation, otherwise append -->
            <property name="maxsize">10M</property> <!-- \d+[KMG]? Suffixes are in terms of 2**10 -->
            <property name="maxlines">0K</property> <!-- \d+[KMG]? Suffixes are in terms of thousands -->
            <property name="daily">true</property> <!-- Automatically rotates when a log message is written after midnight -->
            <property name="maxbackup">10</property> <!-- Max backup for logs rotation -->
      </filter>
    </logging>

我个人更喜欢zarolog:https://github.com/rs/zerolog