2011-01-14 10 views
0

私は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の設定をしていますか?

答えて

1

ファイルにログオンできませんか? FileAppenderには+MinimalLockの設定があり、log4netは追加中にロックを取るだけです。 log4netファイルアペンダも気になりますfastです。

+0

良い点、アンソニー。私はこれに似た解決策をとったと思います.15種類のファイルがうまくいきましたが、本当にDBにエントリを入れたいと思っていました。人生は続いた。私はlog4netの実装について聞きたいと思っているので、質問に答えていないままにしておきます。 – codepoke

関連する問題