logger
「logger」の意味・「logger」とは
「logger」は英語の単語で、直訳すると「伐採者」または「記録者」となる。しかし、現代では特に情報技術の分野でよく使われ、コンピュータのプログラムが行う操作や発生するエラーなどを記録するシステムやその役割を指すことが多い。例えば、ウェブサーバーではアクセスログを記録する「logger」が動作しており、これにより訪問者の動向やエラーの発生源を特定することが可能となる。「logger」の発音・読み方
「logger」の発音は、IPA表記では /ˈlɔːɡər/ となる。IPAのカタカナ読みでは「ローガー」となり、日本人が発音するカタカナ英語では「ロガー」となる。この単語は発音によって意味や品詞が変わる単語ではない。「logger」の定義を英語で解説
「logger」は英語で定義すると "a person or device that logs information or events" となる。これは「情報やイベントを記録する人または装置」という意味である。情報技術の文脈では、特に「データやイベントを自動的に記録するソフトウェアやシステム」を指すことが多い。「logger」の類語
「logger」の類語としては、「recorder」や「chronicler」がある。これらは共に「記録者」を意味するが、「recorder」は音声や映像を記録する装置を指すことが多く、「chronicler」は歴史的な出来事を記録する人を指すことが多い。「logger」に関連する用語・表現
「logger」に関連する用語としては、「log file」や「logging」がある。「log file」は「logger」が生成する記録が保存されるファイルで、「logging」は「logger」が行う記録活動そのものを指す。「logger」の例文
以下に「logger」を用いた例文を10個示す。 1. The logger records all the events in the system.(ロガーはシステム内の全てのイベントを記録する)2. We need to check the logger to find the cause of the error.(エラーの原因を見つけるためにはロガーを確認する必要がある)
3. The logger automatically writes data into the log file.(ロガーは自動的にデータをログファイルに書き込む)
4. The logger helps us track the user's behavior.(ロガーはユーザーの行動を追跡するのに役立つ)
5. The logger is an essential part of the system.(ロガーはシステムの重要な部分である)
6. The logger provides valuable information for debugging.(ロガーはデバッグに役立つ貴重な情報を提供する)
7. The logger keeps a record of all transactions.(ロガーは全てのトランザクションの記録を保持する)
8. The logger can be configured to record specific events.(ロガーは特定のイベントを記録するように設定することができる)
9. The logger operates in the background without affecting the system performance.(ロガーはシステムのパフォーマンスに影響を与えずにバックグラウンドで動作する)
10. The logger is designed to handle large amounts of data.(ロガーは大量のデータを扱うために設計されている)
Logger クラス
アセンブリ: Microsoft.Build.Utilities (microsoft.build.utilities.dll 内)
構文
解説
使用例
ビルド イベントに応答する基本 logger を作成する方法を次の例に示します。
using System; using System.IO; using System.Security; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace MyLoggers { // This logger will derive from the Microsoft.Build.Utilities.Logger class, // which provides it with getters and setters for Verbosity and Parameters, // and a default empty Shutdown() implementation. public class BasicFileLogger : Logger { /// <summary> /// Initialize is guaranteed to be called by MSBuild at the start of the build /// before any events are raised. /// </summary> public override void Initialize(IEventSource eventSource) { // The name of the log file should be passed as the first item in the // "parameters" specification in the /logger switch. It is required // to pass a log file to this logger. Other loggers may have zero or more than // one parameters. if (null == Parameters) { throw new LoggerException("Log file was not set."); } string[] parameters = Parameters.Split(';'); string logFile = parameters[0]; if (String.IsNullOrEmpty(logFile)) { throw new LoggerException("Log file was not set."); } if (parameters.Length > 1) { throw new LoggerException("Too many parameters passed."); } try { // Open the file this.streamWriter = new StreamWriter(logFile); } catch (Exception ex) { if ( ex is UnauthorizedAccessException || ex is ArgumentNullException || ex is PathTooLongException || ex is DirectoryNotFoundException || ex is NotSupportedException || ex is ArgumentException || ex is SecurityException || ex is IOException ) { throw new LoggerException("Failed to create log file: " + ex.Message); } else { // Unexpected failure throw; } } // For brevity, we'll only register for certain event types. Loggers can also // register to handle TargetStarted/Finished and other events. eventSource.ProjectStarted += new ProjectStartedEventHandler(eventSource_ProjectStarted); eventSource.TaskStarted += new TaskStartedEventHandler(eventSource_TaskStarted); eventSource.MessageRaised += new BuildMessageEventHandler(eventSource_MessageRaised); eventSource.WarningRaised += new BuildWarningEventHandler(eventSource_WarningRaised); eventSource.ErrorRaised += new BuildErrorEventHandler(eventSource_ErrorRaised); eventSource.ProjectFinished += new ProjectFinishedEventHandler(eventSource_ProjectFinished); } void eventSource_ErrorRaised(object sender, BuildErrorEventArgs e) { // BuildErrorEventArgs adds LineNumber, ColumnNumber, File, amongst other parameters string line = String.Format(": ERROR {0}({1},{2}): ", e.File, e.LineNumber, e.ColumnNumber); WriteLineWithSenderAndMessage(line, e); } void eventSource_WarningRaised(object sender, BuildWarningEventArgs e) { // BuildWarningEventArgs adds LineNumber, ColumnNumber, File, amongst other parameters string line = String.Format(": Warning {0}({1},{2}): ", e.File, e.LineNumber, e.ColumnNumber); WriteLineWithSenderAndMessage(line, e); } void eventSource_MessageRaised(object sender, BuildMessageEventArgs e) { // BuildMessageEventArgs adds Importance to BuildEventArgs // Let's take account of the verbosity setting we've been passed in deciding whether to log the message if ((e.Importance == MessageImportance.High && IsVerbosityAtLeast(LoggerVerbosity.Minimal)) || (e.Importance == MessageImportance.Normal && IsVerbosityAtLeast(LoggerVerbosity.Normal)) || (e.Importance == MessageImportance.Low && IsVerbosityAtLeast(LoggerVerbosity.Detailed)) ) { WriteLineWithSenderAndMessage(String.Empty, e); } } void eventSource_TaskStarted(object sender, TaskStartedEventArgs e) { // TaskStartedEventArgs adds ProjectFile, TaskFile, TaskName // To keep this log clean, this logger will ignore these events. } void eventSource_ProjectStarted(object sender, ProjectStartedEventArgs e) { // ProjectStartedEventArgs adds ProjectFile, TargetNames // Just the regular message string is good enough here, so just display that. WriteLine(String.Empty, e); indent++; } void eventSource_ProjectFinished(object sender, ProjectFinishedEventArgs e) { // The regular message string is good enough here too. indent--; WriteLine(String.Empty, e); } /// <summary> /// Write a line to the log, adding the SenderName and Message /// (these parameters are on all MSBuild event argument objects) /// </summary> private void WriteLineWithSenderAndMessage(string line, BuildEventArgs e) { if (0 == String.Compare(e.SenderName, "MSBuild", true /*ignore case*/)) { // Well, if the sender name is MSBuild, let's leave it out for prettiness WriteLine(line, e); } else { WriteLine(e.SenderName + ": " + line, e); } } /// <summary> /// Just write a line to the log /// </summary> private void WriteLine(string line, BuildEventArgs e) { for (int i = indent; i > 0; i--) { streamWriter.Write("\t"); } streamWriter.WriteLine(line + e.Message); } /// <summary> /// Shutdown() is guaranteed to be called by MSBuild at the end of the build, after all /// events have been raised. /// </summary> public override void Shutdown() { // Done logging, let go of the file streamWriter.Close(); } private StreamWriter streamWriter; private int indent; } }
Microsoft.Build.Utilities.Logger
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Logger コンストラクタ
アセンブリ: Microsoft.Build.Utilities (microsoft.build.utilities.dll 内)
構文
.NET Framework のセキュリティ
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Logger プロパティ
Logger メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) | |
FormatErrorEvent | BuildErrorEventArgs オブジェクトからエラー メッセージを既定の書式で生成します。 | |
FormatWarningEvent | BuildWarningEventArgs オブジェクトから警告メッセージを既定の書式で生成します。 | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) | |
Initialize | 派生クラスでオーバーライドされると、logger が特定のイベントをサブスクライブします。 | |
IsVerbosityAtLeast | 現在の Verbosity 設定が、少なくとも渡された値以上のレベルであるかどうかを確認します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) | |
Shutdown | 派生クラスでオーバーライドされると、初期化時またはビルド中に、logger に割り当てられているリソースを解放します。 | |
ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
Logger メンバ
派生フォームでオーバーライドされると、MSBuild エンジンによって生成されたイベントを処理する logger に機能を提供します。
Logger データ型で公開されるメンバを以下の表に示します。
プロテクト コンストラクタ
パブリック プロパティ
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) | |
FormatErrorEvent | BuildErrorEventArgs オブジェクトからエラー メッセージを既定の書式で生成します。 | |
FormatWarningEvent | BuildWarningEventArgs オブジェクトから警告メッセージを既定の書式で生成します。 | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
Initialize | 派生クラスでオーバーライドされると、logger が特定のイベントをサブスクライブします。 | |
IsVerbosityAtLeast | 現在の Verbosity 設定が、少なくとも渡された値以上のレベルであるかどうかを確認します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) | |
Shutdown | 派生クラスでオーバーライドされると、初期化時またはビルド中に、logger に割り当てられているリソースを解放します。 | |
ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
- loggerのページへのリンク