sql >> Base de Datos >  >> RDS >> Oracle

agregar registro en nlog al campo con tipo de datos =fecha

Los parámetros NLog DatabaseTarget se convierten en cadenas de forma predeterminada. Puede cambiar el tipo de datos especificando dbType por lo que coincide con la columna de la base de datos:

<target name="TRACEDatabase" type="DataBase">
    <parameter name="PROCESS_ID" layout="${event-properties:PROCESS_ID}" />
    <parameter name="TIME_STAMP" layout="${date}" dbType="DateTime" />
    <parameter name="CUSTOMER_ID" layout="${event-properties:CUSTOMER_ID}" />
</target>

Por cierto. es una mala idea usar variables globales para transferir detalles específicos del contexto.

En su lugar, debe utilizar las propiedades de NLog LogEventInfo:

var logLevel = SetLogLevel(Level.Debug);
var theEvent = new NLog.LogEventInfo(logLevel, null, "try");
theEvent.Properties["PROCESS_ID"] = LogEntity.PROCESS_ID.ToString();
theEvent.Properties["CUSTOMER_ID"] = LogEntity.CUSTOMER_ID.ToString();
log.Log(theEvent);

Ver también:https://github.com/NLog/NLog/wiki/ EventProperties-Layout-Renderer