DOBON.NETプログラミング道掲示板

No34460 の記事


■34460 / )  app.config定義によるネットワークトレースログの世代管理
□投稿者/ あばば無人君 一般人(7回)-(2020/04/24(Fri) 15:30:48)
  • アイコン環境/言語:[Win7Pro、SQLServer2012、C#(.Net4.0)] 
    分類:[.NET] 

    C#のWinFormでFtpWebRequestクラスを使ったFTPアプリケーションを作成しています。
    以下リンクの記事を読み、.Net Frameworkの機能?で、System.NetやSystem.Net.Httpなどのクラスの関数をコールした際に
    ネットワークトレースログが出力できることを知り、app.configを以下の通り編集してみました。

    リンク
    https://docs.microsoft.com/ja-jp/dotnet/framework/network-programming/network-tracing

    編集したapp.configの内容
    <?xml version="1.0"?>
    <configuration>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
    <system.diagnostics>
    <sources>
    <source name="System.Net" tracemode="includehex" maxdatasize="1024">
    <listeners>
    <add name="System.Net"/>
    </listeners>
    </source>
    </sources>
    <switches>
    <add name="System.Net" value="Verbose"/>
    </switches>
    <sharedListeners>
    <add name="System.Net"
    type="System.Diagnostics.TextWriterTraceListener"
    initializeData="D:\\MyNetworkLog.trace"
    traceOutputOptions="ProcessId, DateTime"/>
    </sharedListeners>
    <trace autoflush="true"/>
    </system.diagnostics>
    </configuration>

    上記内容で想定通りDドライブの直下に「MyNetworkLog.trace」というネットワークトレースログが出力される様になったのですが、
    MyNetworkLog.traceのサイズがどんなに大きくなっても世代管理(リネームなど)されず追記されてしまうという問題点が出てきました。
    ※約20MBまで追記されることは確認済み

    私としてはファイルサイズが3MB程度になったら現在の「MyNetworkLog.trace」は「MyNetworkLog_1.trace」などにリネームし、
    新しく空の「MyNetworkLog.trace」が作られる、といった挙動を望んでいます。

    上記挙動となる様なapp.configの定義をご存知の方、いらっしゃいましたらお力添え頂きたいです。
    どうか宜しくお願い致します。
違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -