nxlog进程根据文件名记录文件

时间:2016-03-18 14:12:55

标签: nxlog

我在C:\ Logs中有很多日志文件。

我在每个单独的站点文件夹(W3SVCXX,其中XX是来自IIS的站点ID)中有IIS日志但是在同一个C:\ Logs \文件夹中我有来自这些相同网站的其他日志文件,但是通过Log4Net作为在网站上运行的应用程序。

我当前的NXLog配置:

c:\Logs\

    - L009
            - Dir1
            - Dir2
                    - FileName.Log
    - L008
             - Dir3
                    - RandomFileName.Log
    - L008
    - W3SVC1
            - u_ex1232.log
    - W3SVC2
    - W3SVC3

这适用于与文件名U_ex *匹配的IIS日志。

文件夹结构:

protected void Form_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 13)  // or Key.Enter or Key.Return
    {
        MessageBox.Show("Enter pressed", "KeyPress Event");                
    }
}

等等。

现在我能够专门用于IIS日志,因为文件名是u_ex *但是我的其他日志文件可以被称为任何东西。

因此,对于我的其他输入,我需要能够定位所有 .log而不是u_ex .log。

有什么想法吗?

谢谢,

迈克尔

1 个答案:

答案 0 :(得分:0)

如果您需要处理所有日志,那么您可以只使用一个输入实例而不是定义两个输入实例,并根据文件名进行不同的解析:

<Exec>
  if file_name() =~ /u_ex\d+\.log$/
  {
    # parse as IIS
  }
  else
  {
    # parse as other
  }
</Exec>