私は15の並列Powershellプロセスを実行しているので、ファイルにログできません。アプリケーションイベントビューアがあふれません。データベースへのロギングは理にかなっています。私の問題はよくあるようですが、私が見つけた唯一の解決策は、簡単な設定ファイルを設定するのではなくLog4Netの実装を手渡すことです。これは私に間違って聞こえる。私はこの設定の問題の周りには方法がないとは想像できませんが、おそらく誰かがより完全な答えに私を指すことができます。で、問題のLog4Net to Oracle - > "ConverterType is null"でPatternLayoutが失敗する
十分な議論が存在する
: Apache Config Docs最初のパラメータはRawTimeStampLayoutを使用し、魔法のように動作します: Social.Technet
私の設定は9つのデータベースのOracle用のApacheのスペックごとです。 2番目のパラメーターはPatternLayoutの使用を試み、失敗します。
<parameter>
<parameterName value=":log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value=":message" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
私はPatternLayoutはを使用してメッセージを追加しようとすると、私が受け取る:私はRawPropertyLayout代わりにPatternLayoutはを使用している場合
log4net:ERROR XmlHierarchyConfigurator: Could not create Appender [AdoNetAppender_Oracle] of type [log4net.Appender.AdoNetAppender].
Reported error follows.
System.ArgumentNullException: CreateConverterInstance cannot create instance, converterType is null
Parameter name: converterType
ちょうど皆のように、私はもはやエラーを受け取りませんが、私だけこれらのフィールドにNULLを記録します。 PatternLayoutは、手動で、その後に作成2RawLayoutアダプタに供給されていることを
が$param2 = New-Object log4net.Appender.AdoNetAppenderParameter
$param2.ParameterName = "@log_level"
$parm2Layout=New-Object log4net.Layout.PatternLayout("%level")
$param2.Layout = New-Object log4net.Layout.Layout2RawLayoutAdapter($parm2Layout)
$param2.DbType = "String"
$param2.Size = 50
$sqlAppender.AddParameter($param2)
注:Social.Technetに関する議論パー
は、伐採作業を行うための一つの方法は、このようなパラメータを作成するためのコードを使用することです。これは、config変換プロセスに欠けているようです。もっと良い方法を知っている人はいますか?誰もPowerShell-Log4Net-Oracleの設定をしていますか?
良い点、アンソニー。私はこれに似た解決策をとったと思います.15種類のファイルがうまくいきましたが、本当にDBにエントリを入れたいと思っていました。人生は続いた。私はlog4netの実装について聞きたいと思っているので、質問に答えていないままにしておきます。 – codepoke