sql >> Databasteknik >  >> RDS >> Oracle

lägg till post i nlog till fält med dataType =datum

NLog DatabaseTarget-parametrar konverteras till sträng som standard. Du kan ändra datatypen genom att ange dbType så det matchar databaskolumnen:

<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>

Btw. det är en dålig idé att använda globala variabler för att överföra kontextspecifika detaljer.

Istället bör du använda NLog LogEventInfo Properties:

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);

Se även:https://github.com/NLog/NLog/wiki/ EventProperties-Layout-Renderer




  1. hur man trimmar inledande nollor från alfanumerisk text i mysql-funktionen

  2. Massinsätta eller uppdatera med Hibernate?

  3. Hur man överför mysql-tabellrader till kolumner

  4. Hur kan jag filtrera mysql-data om en kolumn har flera kommaseparerade värden?