我在我的web應用程序中測試log4net。
我將錯誤記錄到Oracle 11g數據庫中的文件以及表中。使用log4net登錄到Oracle數據庫不會立即更新數據庫
但是,當我登錄到數據庫時,我注意到特有的行爲。
例如,我啓動應用程序併產生一個錯誤。
- 我可以看到登錄到文件中的條目。
- 我在數據庫中看不到表中的條目。
然後關閉應用程序並重新啓動它。
正是在這一點上,我纔看到oracle表中以前的錯誤。
我有我的根節點設置爲:
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender" />
<appender-ref ref="AdoNetAppender_Oracle"/>
</root>
的追加程序就像任何的,我在網上找到的例子非常基本的。
甲骨文追加程序:
<appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
<connectionType value="Oracle.ManagedDataAccess.Client.OracleConnection, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
<connectionString value="my stuff"/>
<commandText value="INSERT INTO MY_TABLE (Datetime,Thread,Log_Level,Logger,Message,STACK_TRACE) VALUES (:log_date, :thread, :log_level, :logger, :message, :stackTrace)"/>
<bufferSize value="128"/>
<parameter>
<parameterName value=":log_date"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.RawTimeStampLayout"/>
</parameter>
<parameter>
<parameterName value=":thread"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value=":log_level"/>
<dbType value="String"/>
<size value="50"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value=":logger"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
</layout>
</parameter>
<parameter>
<parameterName value=":message"/>
<dbType value="String"/>
<size value="4000"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
</layout>
</parameter>
<parameter>
<parameterName value=":stackTrace"/>
<dbType value="String"/>
<size value="4000"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{StackTrace}"/>
</layout>
</parameter>
</appender>
請問您是否可以發佈appender本身。 – Jacobr365
將其添加爲編輯 – PrivateJoker