dotnet2.1プロジェクトのRiderでコードなしでlog4netを構成する

Dmitriy Korolevich

RiderIDEを使用してペットの.netcore2.1プロジェクトに取り組んでいます。私は現在、プロジェクトにlog4netサポートを追加しようとしていますが、それを「適切な方法」で実行しようとしています(構成ファイルを分離し、初期化用のコードを記述せずにlog4netを自動的に構成するなど)。これまでのすべてのチュートリアル(ex1ex2)は、アセンブリプロパティを追加して構成することを提案しています。

[assembly: log4net.Config.XmlConfigurator(Watch=true)] 

AssemblyInfo.csファイルに。ただし、ファイルが見つからないようで、他の質問(たとえば、これ)から、他の手段(たとえば、.csprojファイル)を介して構成を行うために、.netcoreではまったく使用されない可能性があるようです。

これまでのところ、ここ回避策を見つけましたが、これは機能しますが、コードを介した明示的な構成を使用します。これは、アセンブリレベルの構成と比較して一歩後退したように見えます。

より静的な方法でこれを行う方法はありますか(たとえば、.csprojのItemGroupを使用する)?

Upd:将来の参照用-これはhttps://docs.microsoft.com/en-us/dotnet/standard/assembly/set-attributesのカスタムケースであるため、.csファイルに直接移動します。

ドミトリー

コンソールで.netコアにlog4netを使用する簡単な例:

[assembly: XmlConfigurator(Watch = true)]
namespace ConsoleApp
{
    class Program
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(Program));

        static void Main(string[] args)
        {
            var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
            log.Info("Entering application.");
            log.Error("Error application.");
        }
    }
}

設定log4netのファイルlog4net.configをプロジェクトに追加する必要があります。また、オプション「出力ディレクトリにコピー」から「新しい場合はコピー」または「常にコピー」を変更することを忘れないでください。

log4net.configの例:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
    </layout>
  </appender>
  <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file value="logs/" />
    <datePattern value="yyyy-MM-dd'.log'" />
    <staticLogFileName value="false" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <IgnoresException value="False" />
      <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="INFO"/>
    </filter>
  </appender>
  <root>
    <level value="ALL" />
    <appender-ref ref="FileAppender" />
    <appender-ref ref="ConsoleAppender" />
  </root>
</log4net>

ところで:log4netのは、2020年4月1日のためにサポートしていない:http://logging.apache.org/log4net/

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じインターフェースの2つの異なるオブジェクト(log4netロガー)でStructureMapを配線するにはどうすればよいですか?

分類Dev

Yii2プロジェクトでBraintreeを構成する

分類Dev

新しい構成を作成せずに、2つの異なるソリューションで使用される1つのプロジェクトに異なる#defineを使用するにはどうすればよいですか?

分類Dev

PTVS:2番目のプロジェクトから1つのプロジェクトでPythonソースコードを参照または使用する方法

分類Dev

ホットリロードを維持しながら、2つのプロジェクト間でコンポーネントを共有する

分類Dev

同じプロジェクトで2つのrabbitlistenersを異なる方法で構成するにはどうすればよいですか?

分類Dev

1つのプレイストアプロジェクトで2つの異なるフレーバーアプリをアップロードする方法

分類Dev

dotnet cliを使用して、1つのステップで複数のdotnetコアプロジェクトをコンパイルする

分類Dev

異なるFirebaseプロジェクト用に2つのjsonファイル構成を作成するにはどうすればよいですか?

分類Dev

.NET Core 2.x csprojプロジェクトでC#コードを確実に生成しますか?

分類Dev

dotnet coreで統合テストを実行するときに、テスト対象のプロジェクトから構成を読み取ります

分類Dev

Eclipseでのm2emavenプロジェクトの更新を「mavenビルド」実行構成と組み合わせてpom.xmlを実行する方法

分類Dev

.net標準1.3プロジェクトでのlog4net構成

分類Dev

2つのプロジェクトのGoogle Cloudを使用しているときにpom.xmlでprojectIdを構成する方法

分類Dev

using / parentプロジェクトのクラスライブラリで使用するlog4net構成を指定します

分類Dev

launchSettings.jsonでのビルドからテストプロジェクトを除外するdotnetコア

分類Dev

Box / Router / PCで2つのシンプルなローカルネットワークを構成する

分類Dev

1つのプロジェクトMVCで2つのASP.NETコアIDを使用できますか?

分類Dev

dotnetビルドコマンドを使用してテンプレートC ++ / CLI(.NET Core 3.1)プロジェクトをコンパイルできません

分類Dev

Angular2プロジェクトのどこにアプリ全体の構成を配置できますか

分類Dev

ASP.NETサンプルプロジェクトのサービスを解決できません(2ではなくコア1を使用)

分類Dev

HTML5Modeを使用した複数のAngularJS2プロジェクトでのNginx構成

分類Dev

j2meプロジェクトでコードをどのように整理しますか?

分類Dev

ロードされたlog4j2構成の完全なパスを見つけるにはどうすればよいですか?

分類Dev

ReactプロジェクトでのSystem.importを使用したツリーシェイクと遅延読み込みのWebpack2構成

分類Dev

現在の作業ターゲットディレクトリへのログファイルパスをlog4j2 xml形式で構成する方法

分類Dev

asp.netコア2プロジェクトのルートで角度を提供

分類Dev

単一のテストクラスでプロパティプレースホルダーを使用して2つのSpringコンテキスト構成をロードする方法

分類Dev

プロジェクトのコードベースを1つ変更せずに、2つのメイン@SpringBootApplicationファイルを持つプロジェクトを実行するにはどうすればよいですか?

Related 関連記事

  1. 1

    同じインターフェースの2つの異なるオブジェクト(log4netロガー)でStructureMapを配線するにはどうすればよいですか?

  2. 2

    Yii2プロジェクトでBraintreeを構成する

  3. 3

    新しい構成を作成せずに、2つの異なるソリューションで使用される1つのプロジェクトに異なる#defineを使用するにはどうすればよいですか?

  4. 4

    PTVS:2番目のプロジェクトから1つのプロジェクトでPythonソースコードを参照または使用する方法

  5. 5

    ホットリロードを維持しながら、2つのプロジェクト間でコンポーネントを共有する

  6. 6

    同じプロジェクトで2つのrabbitlistenersを異なる方法で構成するにはどうすればよいですか?

  7. 7

    1つのプレイストアプロジェクトで2つの異なるフレーバーアプリをアップロードする方法

  8. 8

    dotnet cliを使用して、1つのステップで複数のdotnetコアプロジェクトをコンパイルする

  9. 9

    異なるFirebaseプロジェクト用に2つのjsonファイル構成を作成するにはどうすればよいですか?

  10. 10

    .NET Core 2.x csprojプロジェクトでC#コードを確実に生成しますか?

  11. 11

    dotnet coreで統合テストを実行するときに、テスト対象のプロジェクトから構成を読み取ります

  12. 12

    Eclipseでのm2emavenプロジェクトの更新を「mavenビルド」実行構成と組み合わせてpom.xmlを実行する方法

  13. 13

    .net標準1.3プロジェクトでのlog4net構成

  14. 14

    2つのプロジェクトのGoogle Cloudを使用しているときにpom.xmlでprojectIdを構成する方法

  15. 15

    using / parentプロジェクトのクラスライブラリで使用するlog4net構成を指定します

  16. 16

    launchSettings.jsonでのビルドからテストプロジェクトを除外するdotnetコア

  17. 17

    Box / Router / PCで2つのシンプルなローカルネットワークを構成する

  18. 18

    1つのプロジェクトMVCで2つのASP.NETコアIDを使用できますか?

  19. 19

    dotnetビルドコマンドを使用してテンプレートC ++ / CLI(.NET Core 3.1)プロジェクトをコンパイルできません

  20. 20

    Angular2プロジェクトのどこにアプリ全体の構成を配置できますか

  21. 21

    ASP.NETサンプルプロジェクトのサービスを解決できません(2ではなくコア1を使用)

  22. 22

    HTML5Modeを使用した複数のAngularJS2プロジェクトでのNginx構成

  23. 23

    j2meプロジェクトでコードをどのように整理しますか?

  24. 24

    ロードされたlog4j2構成の完全なパスを見つけるにはどうすればよいですか?

  25. 25

    ReactプロジェクトでのSystem.importを使用したツリーシェイクと遅延読み込みのWebpack2構成

  26. 26

    現在の作業ターゲットディレクトリへのログファイルパスをlog4j2 xml形式で構成する方法

  27. 27

    asp.netコア2プロジェクトのルートで角度を提供

  28. 28

    単一のテストクラスでプロパティプレースホルダーを使用して2つのSpringコンテキスト構成をロードする方法

  29. 29

    プロジェクトのコードベースを1つ変更せずに、2つのメイン@SpringBootApplicationファイルを持つプロジェクトを実行するにはどうすればよいですか?

ホットタグ

アーカイブ