<?xml version="1.0" encoding="utf-8" ?>
|
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
internalLogFile="nlog-internal.log"
|
internalLogLevel="Error">
|
<extensions>
|
<add assembly="NLog.Mongo" />
|
</extensions>
|
<targets async="true">
|
<!-- 文件目标配置 -->
|
<target name="FilePLC"
|
xsi:type="File"
|
fileName="D:/WCS.LogDB/HnSx/${event-properties:item=Category}/${level:uppercase=true}.log"
|
archiveFileName="D:/WCS.LogDB/HnSx/${event-properties:item=Category}/${level:uppercase=true}/{#}.log"
|
archiveEvery="Hour"
|
archiveNumbering="Date"
|
archiveDateFormat="yyyyMMddHH"
|
maxArchiveFiles="168"
|
maxArchiveDays="7"
|
keepFileOpen="false"
|
concurrentWrites="true"
|
encoding="utf-8"
|
layout="[${longdate}][${machinename}][${processid}][${processname}][${logger}][${uppercase:${level}}][${sequenceid}]${message}">
|
</target>
|
<!-- MongoDB目标配置 -->
|
<target name="MongoDebug"
|
xsi:type="Mongo"
|
connectionString="mongodb://localhost:27017?connectTimeoutMS=3000&socketTimeoutMS=5000"
|
databaseName="HnSx"
|
collectionName="DEBUG"
|
includeDefaults="false"
|
includeEventProperties="false">
|
<field name="SID" layout="${sequenceid}" bsonType="Int64" />
|
<field name="TITLE" layout="${event-properties:item=TITLE}"/>
|
<field name="MESSAGE" layout="${event-properties:item=MESSAGE}" />
|
<field name="START" layout="${event-properties:item=START:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="END" layout="${event-properties:item=END:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="TIMESPAN" layout="${event-properties:item=TIMESPAN}" bsonType="Double"/>
|
<field name="CATEGORY" layout="${event-properties:item=CATEGORY}"/>
|
<field name="TAGS" layout="${event-properties:item=TAGS}"/>
|
<field name="DATA" layout="${event-properties:item=DATA}"/>
|
<field name="USER" layout="${event-properties:item=USER}"/>
|
<field name="EXCEPTION" layout="${event-properties:item=EXCEPTION:format=ToString}" />
|
<field name="LEVEL" layout="${level:uppercase=true}" />
|
<field name="LOGIC_NO" layout="${event-properties:item=LOGIC_NO}"/>
|
<field name="CALL_SITE" layout="${event-properties:item=CALL_SITE}" />
|
<field name="LINE_NO" layout="${event-properties:item=LINE_NO}" bsonType="Int32" />
|
<field name="LOGGER" layout="${logger}" />
|
<field name="MACHINE_NAME" layout="${machinename}" />
|
<field name="PROCESS_ID" layout="${processid}" bsonType="Int32" />
|
<field name="PROCESS_NAME" layout="${processname}" />
|
<field name="UTC_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ:universalTime=true}" bsonType="DateTime" />
|
<field name="LOCAL_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime" />
|
</target>
|
<target name="MongoInfo"
|
xsi:type="Mongo"
|
connectionString="mongodb://localhost:27017?connectTimeoutMS=3000&socketTimeoutMS=5000"
|
databaseName="HnSx"
|
collectionName="INFO"
|
includeDefaults="false"
|
includeEventProperties="false">
|
<field name="SID" layout="${sequenceid}" bsonType="Int64" />
|
<field name="TITLE" layout="${event-properties:item=TITLE}"/>
|
<field name="MESSAGE" layout="${event-properties:item=MESSAGE}" />
|
<field name="START" layout="${event-properties:item=START:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="END" layout="${event-properties:item=END:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="TIMESPAN" layout="${event-properties:item=TIMESPAN}" bsonType="Double"/>
|
<field name="CATEGORY" layout="${event-properties:item=CATEGORY}"/>
|
<field name="TAGS" layout="${event-properties:item=TAGS}"/>
|
<field name="DATA" layout="${event-properties:item=DATA}"/>
|
<field name="USER" layout="${event-properties:item=USER}"/>
|
<field name="EXCEPTION" layout="${event-properties:item=EXCEPTION:format=ToString}" />
|
<field name="LEVEL" layout="${level:uppercase=true}" />
|
<field name="LOGIC_NO" layout="${event-properties:item=LOGIC_NO}"/>
|
<field name="CALL_SITE" layout="${event-properties:item=CALL_SITE}" />
|
<field name="LINE_NO" layout="${event-properties:item=LINE_NO}" bsonType="Int32" />
|
<field name="LOGGER" layout="${logger}" />
|
<field name="MACHINE_NAME" layout="${machinename}" />
|
<field name="PROCESS_ID" layout="${processid}" bsonType="Int32" />
|
<field name="PROCESS_NAME" layout="${processname}" />
|
<field name="UTC_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ:universalTime=true}" bsonType="DateTime" />
|
<field name="LOCAL_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime" />
|
</target>
|
<target name="MongoWarn"
|
xsi:type="Mongo"
|
connectionString="mongodb://localhost:27017?connectTimeoutMS=3000&socketTimeoutMS=5000"
|
databaseName="HnSx"
|
collectionName="WARN"
|
includeDefaults="false"
|
includeEventProperties="false">
|
<field name="SID" layout="${sequenceid}" bsonType="Int64" />
|
<field name="TITLE" layout="${event-properties:item=TITLE}"/>
|
<field name="MESSAGE" layout="${event-properties:item=MESSAGE}" />
|
<field name="START" layout="${event-properties:item=START:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="END" layout="${event-properties:item=END:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="TIMESPAN" layout="${event-properties:item=TIMESPAN}" bsonType="Double"/>
|
<field name="CATEGORY" layout="${event-properties:item=CATEGORY}"/>
|
<field name="TAGS" layout="${event-properties:item=TAGS}"/>
|
<field name="DATA" layout="${event-properties:item=DATA}"/>
|
<field name="USER" layout="${event-properties:item=USER}"/>
|
<field name="EXCEPTION" layout="${event-properties:item=EXCEPTION:format=ToString}" />
|
<field name="LEVEL" layout="${level:uppercase=true}" />
|
<field name="LOGIC_NO" layout="${event-properties:item=LOGIC_NO}"/>
|
<field name="CALL_SITE" layout="${event-properties:item=CALL_SITE}" />
|
<field name="LINE_NO" layout="${event-properties:item=LINE_NO}" bsonType="Int32" />
|
<field name="LOGGER" layout="${logger}" />
|
<field name="MACHINE_NAME" layout="${machinename}" />
|
<field name="PROCESS_ID" layout="${processid}" bsonType="Int32" />
|
<field name="PROCESS_NAME" layout="${processname}" />
|
<field name="UTC_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ:universalTime=true}" bsonType="DateTime" />
|
<field name="LOCAL_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime" />
|
</target>
|
<target name="MongoError"
|
xsi:type="Mongo"
|
connectionString="mongodb://localhost:27017?connectTimeoutMS=3000&socketTimeoutMS=5000"
|
databaseName="HnSx"
|
collectionName="ERROR"
|
includeDefaults="false"
|
includeEventProperties="false">
|
<field name="SID" layout="${sequenceid}" bsonType="Int64" />
|
<field name="TITLE" layout="${event-properties:item=TITLE}"/>
|
<field name="MESSAGE" layout="${event-properties:item=MESSAGE}" />
|
<field name="START" layout="${event-properties:item=START:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="END" layout="${event-properties:item=END:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime"/>
|
<field name="TIMESPAN" layout="${event-properties:item=TIMESPAN}" bsonType="Double"/>
|
<field name="CATEGORY" layout="${event-properties:item=CATEGORY}"/>
|
<field name="TAGS" layout="${event-properties:item=TAGS}"/>
|
<field name="DATA" layout="${event-properties:item=DATA}"/>
|
<field name="USER" layout="${event-properties:item=USER}"/>
|
<field name="EXCEPTION" layout="${event-properties:item=EXCEPTION:format=ToString}" />
|
<field name="LEVEL" layout="${level:uppercase=true}" />
|
<field name="LOGIC_NO" layout="${event-properties:item=LOGIC_NO}"/>
|
<field name="CALL_SITE" layout="${event-properties:item=CALL_SITE}" />
|
<field name="LINE_NO" layout="${event-properties:item=LINE_NO}" bsonType="Int32" />
|
<field name="LOGGER" layout="${logger}" />
|
<field name="MACHINE_NAME" layout="${machinename}" />
|
<field name="PROCESS_ID" layout="${processid}" bsonType="Int32" />
|
<field name="PROCESS_NAME" layout="${processname}" />
|
<field name="UTC_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ:universalTime=true}" bsonType="DateTime" />
|
<field name="LOCAL_TIME" layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fffZ}" bsonType="DateTime" />
|
</target>
|
</targets>
|
<rules>
|
<logger name="PlcLogger" levels="Debug,Info,Warn,Error" writeTo="FilePLC" />
|
<logger name="NLogger" levels="Debug" writeTo="MongoDebug" />
|
<logger name="NLogger" levels="Info" writeTo="MongoInfo" />
|
<logger name="NLogger" levels="Warn" writeTo="MongoWarn" />
|
<logger name="NLogger" levels="Error" writeTo="MongoError" />
|
</rules>
|
</nlog>
|