it技術:dotnet:ログ出力
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
it技術:dotnet:ログ出力 [2017/11/10 11:48] – [log4net] yajuadmin | it技術:dotnet:ログ出力 [2018/08/21 11:53] – [ASP.NETでの設定] yajuadmin | ||
---|---|---|---|
行 10: | 行 10: | ||
メニューのツール > Nugetパッケージ マネージャー > | メニューのツール > Nugetパッケージ マネージャー > | ||
- | ==== 設定 ==== | + | ==== Winフォームでの設定 ==== |
=== AssemblyInfo === | === AssemblyInfo === | ||
AssemblyInfo.vbに下記の設定をしないと、ログが出力されてこない。 | AssemblyInfo.vbに下記の設定をしないと、ログが出力されてこない。 | ||
行 16: | 行 16: | ||
' | ' | ||
< | < | ||
+ | |||
' | ' | ||
- | '< | + | < |
</ | </ | ||
行 24: | 行 25: | ||
// | // | ||
[assembly: log4net.Config.XmlConfigurator(Watch = true)] | [assembly: log4net.Config.XmlConfigurator(Watch = true)] | ||
+ | |||
// | // | ||
[assembly: log4net.Config.XmlConfigurator(ConfigFile = " | [assembly: log4net.Config.XmlConfigurator(ConfigFile = " | ||
</ | </ | ||
+ | |||
+ | [[https:// | ||
+ | log4net.dllを参照後、App.configにlog4netの設定を記述してデバッグログ出力しようとしたら「構成システムを初期化できませんでした。」と例外エラーが発生しました。 | ||
=== App.config === | === App.config === | ||
- | App.configのconfigSectionsタグ内に下記の定義を行う。 | + | App.configのconfigSectionsタグ内に下記の定義を行う。\\ |
+ | ※AssemblyInfoとセットなので、これをしないと「構成システムを初期化できませんでした。」の例外エラーとなる。 | ||
<code xml App.config> | <code xml App.config> | ||
< | < | ||
行 39: | 行 46: | ||
「Test」というアプリケーション名にした場合\\ | 「Test」というアプリケーション名にした場合\\ | ||
下記の設定内容では、Test.exe直下にlogフォルダが作成され、Test_yyyyMMdd.logのファイルが出力される。\\ | 下記の設定内容では、Test.exe直下にlogフォルダが作成され、Test_yyyyMMdd.logのファイルが出力される。\\ | ||
+ | |||
+ | アプリケーション名が不要の場合、下記の設定で実行ファイルのフォルダ直下に自動でlogフォルダに、yyyyMMdd.logのファイルが出力される。 | ||
+ | <code xml> | ||
+ | <!-- 作成するログファイル --> | ||
+ | <param name=" | ||
+ | < | ||
+ | </ | ||
+ | |||
【ログの中身】\\ | 【ログの中身】\\ | ||
2016/09/23 17:25:50 [INFO ] テスト | 2016/09/23 17:25:50 [INFO ] テスト | ||
行 88: | 行 103: | ||
</ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== ASP.NETでの設定 ==== | ||
+ | AssemblyInfoの代わりに、Global.aspx に定義を行う。\\ | ||
+ | ※但し、ログ設定を別ファイルにする場合は、AssemblyInfo に記述する。\\ | ||
+ | App.configの代わりにWeb.Configに設定を追加する。 | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | 指定したlogsフォルダはWeb.configと同じ階層に作成される。 | ||
+ | |||
+ | === Global.aspx === | ||
+ | <code csharp Global.aspx.cs> | ||
+ | protected void Application_Start() | ||
+ | { | ||
+ | log4net.Config.XmlConfigurator.Configure(); | ||
+ | AreaRegistration.RegisterAllAreas(); | ||
+ | RouteConfig.RegisterRoutes(RouteTable.Routes); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Web.Config === | ||
+ | <code xml Web.Confog> | ||
+ | < | ||
+ | <!-- log4netセクションのハンドラ設定 --> | ||
+ | <section name=" | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | <!-- ===================================================================== --> | ||
+ | < | ||
+ | <!-- ===================================================================== --> | ||
+ | < | ||
+ | <!-- ログのレベルを指定 --> | ||
+ | <!-- ALL > DEBUG > INFO > WARN > ERROR > FATAL --> | ||
+ | <level value=" | ||
+ | <!-- どのログ出力先を使用するか --> | ||
+ | < | ||
+ | </ | ||
+ | <!-- ===================================================================== --> | ||
+ | < | ||
+ | <!-- ===================================================================== --> | ||
+ | <!-- ▼ファイル出力用[RollingFileAppender](日付や時刻の制約に基づいたログファイルの生成) --> | ||
+ | < | ||
+ | <param name=" | ||
+ | <!-- ファイル名 --> | ||
+ | <param name=" | ||
+ | <!-- 追記する場合true/ | ||
+ | <param name=" | ||
+ | <!-- 日付や時刻の制約によるログファイルの切替 --> | ||
+ | <param name=" | ||
+ | <!-- 上から「毎月、毎週、毎日、半日、毎時、毎分」の設定(デフォルトは毎時) --> | ||
+ | <param name=" | ||
+ | <param name=" | ||
+ | <layout type=" | ||
+ | <param name=" | ||
+ | </ | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
行 118: | 行 192: | ||
</ | </ | ||
+ | [[https:// | ||
+ | |||
+ | ===== NLog ===== | ||
+ | .NET 向けのオープンソースのログツールである。 | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== その他 ===== | ||
+ | [[http:// | ||
+ | > | ||
+ | > |
it技術/dotnet/ログ出力.txt · 最終更新: 2023/01/24 09:46 by yajuadmin