英語版
このページの英語版を見る
std.logger.core
- @safe bool
isLoggingEnabled()(LogLevelll, LogLevelloggerLL, LogLevelglobalLL, lazy boolcondition= true); - この関数は実行時に使用され、LogLevel が有効であるかどうかを判断する。 同じように、以前に定義されたバージョン文を使用して、特定のレベルを無効にすることができる。 バージョン文はコンパイル単位に関連付けられているため、 他のコンパイル単位のログを無効にすることはできない。 pure bool isLoggingEnabled()(LogLevel ll) @safe nothrow @nogc
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy boolcondition, lazy Aargs)
if (args.length != 1);
voidlog(T, string moduleName = __MODULE__)(const LogLevelll, lazy boolcondition, lazy Targ, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__); - この関数はデータをログに記録する。データを処理するには、ログ呼び出しのLogLevel がLogLevel 、sharedLog 、defaultLogLevel の 以上でなければならず、 さらに渡された条件がtrue でなければならない。Parameters:
LogLevel llこのログ呼び出しで使用されたLogLevel 。 bool conditionデータをログに記録するには、条件はtrue でなければならない。 A argsログに記録されるべきデータ。 例
log(LogLevel.warning, true, "Hello World", 3.1415);
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy Aargs)
if (args.length > 1 && !is(Unqual!(A[0]) : bool));
voidlog(T, string moduleName = __MODULE__)(const LogLevelll, lazy Targ, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__); - この関数はデータをログに記録する。データを処理するには、ログ呼び出しのLogLevel がLogLevel のsharedLog 以上でなければならない。Parameters:
LogLevel llこのログコールで使用されるLogLevel 。 A argsログに記録すべきデータ。 例
log(LogLevel.warning, "Hello World", 3.1415);
この関数はデータをログに記録する。 - void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy Aargs)
if (args.length != 1);
voidlog(T, string moduleName = __MODULE__)(lazy boolcondition, lazy Targ, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__); - この関数はデータをログに記録する。データを処理するには、LogLevel のsharedLog がdefaultLogLevel以上である必要がある。 また、渡された条件はtrue でなければならない。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 A argsログに記録すべきデータ。 例
log(true, "Hello World", 3.1415);
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy Aargs)
if (args.length > 1 && !is(Unqual!(A[0]) : bool) && !is(Unqual!(A[0]) == LogLevel) ||args.length == 0); - この関数はデータをログに記録する。データを処理するには、LogLevel のsharedLog がdefaultLogLevel 以上である必要がある。Parameters:
A args記録されるべきデータ。 例
log("Hello World", 3.1415);
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy boolcondition, lazy stringmsg, lazy Aargs); - この関数は、printf 形式でデータをログに記録する。trueデータを処理するには、ログ呼び出しのLogLevel がLogLevel 以上でなければならず、sharedLog とdefaultLogLevel の条件も満たさなければならない。Parameters:
LogLevel llこのログコールで使用されたLogLevel 。 bool conditionデータをログに記録するには、条件はtrue でなければならない。 string msgprintf 形式の文字列。 A argsログに記録されるべきデータ。 例
logf(LogLevel.warning, true, "Hello World %f", 3.1415);
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy stringmsg, lazy Aargs); - この関数は、printf 形式でデータをログに記録する。データを処理するには、ログコールのLogLevel がLogLevel のsharedLog およびdefaultLogLevel と 同等かそれ以上でなければならない。Parameters:
LogLevel llこのログコールで使用されたLogLevel 。 string msgprintf 形式の文字列。 A argsログに記録されるべきデータ。 例
logf(LogLevel.warning, "Hello World %f", 3.1415);
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy stringmsg, lazy Aargs); - この関数は、printf 形式でデータをログに記録する。データを処理するには、ログコールのLogLevel がdefaultLogLevel 以上である必要があり、さらに、条件がtrue である必要がある。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 string msgprintf 形式の文字列。 A argsログに記録すべきデータ。 例
logf(true, "Hello World %f", 3.1415);
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy stringmsg, lazy Aargs); - この関数は、printf 形式でデータをログに記録する。データを処理するには、ログコールのLogLevel がdefaultLogLevel 以上である必要がある。Parameters:
string msgprintf 形式の文字列。 A argsログに記録されるデータ。 例:
logf("Hello World %f", 3.1415);
- template
defaultLogFunction(LogLevel ll) - このテンプレートは、グローバルログ関数にLogLevelを提供する。 関数名にエンコードされている。このテンプレートに続くエイリアスは、これらのログ関数のパブリック名を作成する。
- alias
trace= defaultLogFunction!LogLevel.trace.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0);
aliasinfo= defaultLogFunction!LogLevel.info.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0);
aliaswarning= defaultLogFunction!LogLevel.warning.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0);
aliaserror= defaultLogFunction!LogLevel.error.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0);
aliascritical= defaultLogFunction!LogLevel.critical.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0);
aliasfatal= defaultLogFunction!LogLevel.fatal.defaultLogFunction(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length > 0 && !is(Unqual!(A[0]) : bool) || args.length == 0); - この関数は、条件に応じて任意で、データをstdThreadLocalLog に記録する。結果として得られるログメッセージを記録するには、LogLevel がLogLevel およびstdThreadLocalLog のLogLevel よりも大きく、 グローバルな よりも大きい必要がある。 さらに、LogLevel はLogLevelよりも大きく、stdSharedLogger の よりも大きい必要がある。 条件が指定されている場合は、true と評価される必要がある。Parameters:
bool condition データをログに記録するには、条件がtrue でなければならない。 A args ログに記録されるべきデータ。 例
trace(1337, "is number"); info(1337, "is number"); error(1337, "is number"); critical(1337, "is number"); fatal(1337, "is number"); trace(true, 1337, "is number"); info(false, 1337, "is number"); error(true, 1337, "is number"); critical(false, 1337, "is number"); fatal(true, 1337, "is number");
- template
defaultLogFunctionf(LogLevel ll) - このテンプレートは、グローバルなprintf スタイルのログ関数にLogLevel を関数名にエンコードして提供する。このテンプレートに続くエイリアスは、ログ関数のパブリック名を作成する。
- alias
tracef= defaultLogFunctionf!LogLevel.trace.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args);
aliasinfof= defaultLogFunctionf!LogLevel.info.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args);
aliaswarningf= defaultLogFunctionf!LogLevel.warning.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args);
aliaserrorf= defaultLogFunctionf!LogLevel.error.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args);
aliascriticalf= defaultLogFunctionf!LogLevel.critical.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args);
aliasfatalf= defaultLogFunctionf!LogLevel.fatal.defaultLogFunctionf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy string msg, lazy A args); - この関数は、printf 形式でsharedLog にデータをログに記録する。生成されたログメッセージを記録するには、LogLevel がLogLevel およびsharedLog の 以上であり、 グローバルなLogLevel 以上でなければなりません。 さらに、LogLevel はLogLevel以上でなければならず、stdSharedLogger の 以上でなければなりません。Parameters:
string msg printf 形式の文字列。 A args ログに記録されるべきデータ。 例
tracef("is number %d", 1); infof("is number %d", 2); errorf("is number %d", 3); criticalf("is number %d", 4); fatalf("is number %d", 5);
この関数の第2のバージョンは、sharedLog にprintf 形式でデータを記録する。 生成されたログメッセージを記録するには、LogLevel はLogLevel のsharedLog 以上でなければならず、 グローバルなLogLevel 以上でなければならない。 さらに、LogLevel はLogLevelのstdSharedLogger 以上でなければならない。 "function"関数Parameters:bool condition データをログに記録するには、この条件はtrue でなければならない。 string msg printf 形式の文字列。 A args ログに記録すべきデータ。 例
tracef(false, "is number %d", 1); infof(false, "is number %d", 2); errorf(true, "is number %d", 3); criticalf(true, "is number %d", 4); fatalf(someFunct(), "is number %d", 5);
- enum
LogLevel: ubyte; - 使用可能なログレベルは8つある。これらのレベルは、すべて 、トレース、 情報、警告、エラー、重大、致命的、オフである。 ログ関数が呼び出されると、
LogLevel.fatalがコールされると、そのロガーのシャットダウンハンドラがコールされます。all- プログラムの実行をトレースするための、最低限割り当て可能なLogLevel 。
trace- LogLevel プログラムの実行をトレースする。
info- このレベルは、プログラムに関する情報を表示するために使用される。
warning- プログラムに関する警告は、このレベルで表示されるべきである。
error- エラーに関する情報は、このレベルでログに記録すべきである。
critical- 致命的なエラーを通知するメッセージは、 このレベルでログに記録すべきである。
fatal- 致命的なエラーを説明するログメッセージは、このレベルを使用すべきである 。
off- 可能な限り最高のLogLevel 。
- abstract class
Logger; - このクラスはすべてのロガーのベースとなる。新しい種類のロガーを作成するには、派生クラスでwriteLogMsg メソッドを実装する必要がある。 デフォルトでは、これはスレッドセーフではない。また、override メソッドにbeginLogMsg 、logMsgPart 、finishLogMsg の3つのメソッドをまとめて指定することも可能である。このオプションは、より 柔軟性がある。
- struct
LogEntry; - LogEntryは、ログメッセージに関連するすべての情報を組み合わせた集約である。 この集約は、 writeLogMsgメソッドに渡される。
- string
file; - ログ関数が呼び出されたファイル名
- int
line; - ログ関数が呼び出された行番号
- string
funcName; - ログ関数が呼び出された関数の名前
- string
prettyFuncName; - ログ関数が呼び出された関数のきれいに整形された名前
- string
moduleName; - ログメッセージが送信されたモジュール名
- LogLevel
logLevel; - ログメッセージに関連付けられたLogLevel
- Tid
threadId; - ログメッセージのスレッドID
- SysTime
timestamp; - メッセージが記録された時間
- string
msg; - ログメッセージの内容
- Logger
logger; - このコンストラクタを作成するために使用されたLogger への参照LogEntry
- this(this This)(LogLevel
lv); - Logger のすべてのサブクラスは、自身のコンストラクタからこのコンストラクタを呼び出す必要がある。 これは、LogLevel を設定し、致命的なハンドラを作成する。致命的なハンドラは、 レベルLogLevel.fatal でログコールが実行された場合、Error をスローする。Parameters:
LogLevel lvLogLevel この インスタンスで使用する。Logger - protected abstract @safe void
writeLogMsg(ref LogEntrypayload); - カスタムロガーがMultiLogger およびArrayLogger で動作するには、このメソッドを実装する必要がある。Parameters:
LogEntry payloadログ関数への呼び出しに関連するすべての情報。 See Also: beginLogMsg、logMsgPart、finishLogMsgbeginLogMsg、logMsgPart、finishLogMsg - protected @safe void
logMsgPart(scope const(char)[]msg); - ログメッセージの一部を記録する。
- protected @safe void
finishLogMsg(); - メッセージが書き込まれたことを通知し、それ以降の logMsgPart へのコールは行われない。
- final const pure @nogc @property @safe LogLevel
logLevel();
final @nogc @property @safe voidlogLevel(const LogLevellv); - LogLevel は、ログコールが処理されるか、Logger によってドロップされるかを決定する。 ログコールが処理されるためには、 ログコールのLogLevel がLogLevelのlogger と同等かそれ以上でなければならない。これらの2つのメソッドは、使用されるLogger のLogLevel を設定および取得する。
例
auto f = new FileLogger(stdout); f.logLevel = LogLevel.info; assert(f.logLevel == LogLevel.info);
- final @nogc @property @safe void delegate()
fatalHandler();
final @nogc @property @safe voidfatalHandler(void delegate() @safefh); - このdelegate は、LogLevel.fatal を含むログメッセージが記録される場合に呼び出される。デフォルトでは、Error がスローされる。
- @trusted void
forwardMsg(ref LogEntrypayload); - このメソッドは、あるロガーから別のロガーへのログエントリーの転送を可能にする。
forwardMsg適切な同期を確保し、writeLogMsg をコールする。これは独自のロガーを実装するための API であり、 通常のユーザーコードからコールすべきではない。他の ロギング関数との顕著な違いは、globalLogLevel が再度評価されないことである。 これは、呼び出し側がすでに確認済みであると想定されているためである。 - template
memLogFunctions(LogLevel ll)
aliastrace= .Logger.memLogFunctions!LogLevel.trace.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliastracef= .Logger.memLogFunctions!LogLevel.trace.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args);
aliasinfo= .Logger.memLogFunctions!LogLevel.info.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliasinfof= .Logger.memLogFunctions!LogLevel.info.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args);
aliaswarning= .Logger.memLogFunctions!LogLevel.warning.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliaswarningf= .Logger.memLogFunctions!LogLevel.warning.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args);
aliaserror= .Logger.memLogFunctions!LogLevel.error.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliaserrorf= .Logger.memLogFunctions!LogLevel.error.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args);
aliascritical= .Logger.memLogFunctions!LogLevel.critical.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliascriticalf= .Logger.memLogFunctions!LogLevel.critical.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args);
aliasfatal= .Logger.memLogFunctions!LogLevel.fatal.logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy A args) if (args.length == 0 || args.length > 0 && !is(A[0] : bool));
aliasfatalf= .Logger.memLogFunctions!LogLevel.fatal.logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy bool condition, lazy string msg, lazy A args); - このテンプレートは、Logger class に対して、関数名にLogLevel がエンコードされたログ関数を提供する。詳細については、このテンプレート内で定義された2つの関数を参照のこと。 このテンプレートに続くエイリアスは、これらのログ関数のパブリック名を作成する。
- void
logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy Aargs)
if (args.length == 0 ||args.length > 0 && !is(A[0] : bool)); - この関数は、使用されたLogger にデータを記録する。生成されたログメッセージを記録するには、LogLevel は使用するLoggerのLogLevel 以上でなければならず、 グローバルなLogLevel 以上でなければならない。Parameters:
A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.trace(1337, "is number"); s.info(1337, "is number"); s.error(1337, "is number"); s.critical(1337, "is number"); s.fatal(1337, "is number");
- void
logImpl(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy Aargs); - この関数は、条件に応じて使用されるLogger にデータを記録する。生成されたログメッセージをLogLevel に記録するには、LogLevel が使用するLogger の 以上でなければならず、 さらにグローバルなLogLevel 以上でなければならず、さらに 条件がtrue を満たしている必要がある。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.trace(true, 1337, "is number"); s.info(false, 1337, "is number"); s.error(true, 1337, "is number"); s.critical(false, 1337, "is number"); s.fatal(true, 1337, "is number");
- void
logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy stringmsg, lazy Aargs); - この関数は、Logger で使用されたデータをprintf 形式でログに記録する。生成されたログメッセージを記録するには、LogLevelは、 使用するLoggerのLogLevel 以上でなければならず、 グローバルなLogLevel 以上でなければならず、 さらに、渡された条件はtrue でなければならない。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 string msgprintf 形式の文字列。 A argsログに記録すべきデータ。 例
auto s = new FileLogger(stderr); s.tracef(true, "is number %d", 1); s.infof(true, "is number %d", 2); s.errorf(false, "is number %d", 3); s.criticalf(someFunc(), "is number %d", 4); s.fatalf(true, "is number %d", 5);
- void
logImplf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy stringmsg, lazy Aargs); - この関数は、Logger を使用して、printf 形式でデータをログに記録する。 形式で生成されたログメッセージを記録するには、LogLevel は 使用するLogger のLogLevel 以上でなければならず、 グローバルなLogLevel 以上でなければならない。Parameters:
string msgprintf 形式の文字列。 A argsログに記録されるデータ。 例
auto s = new FileLogger(stderr); s.tracef("is number %d", 1); s.infof("is number %d", 2); s.errorf("is number %d", 3); s.criticalf("is number %d", 4); s.fatalf("is number %d", 5);
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy boolcondition, lazy Aargs)
if (args.length != 1);
voidlog(T, string moduleName = __MODULE__)(const LogLevelll, lazy boolcondition, lazy Targs, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__); - このメソッドは、使用するLogger のLogLevel でデータをログに記録する。このメソッドは、bool を最初の引数として受け取る。 データを処理するには、bool がtrue で、Logger のLogLevelが グローバルなLogLevel 以上である必要がある。Parameters:
A argsログに記録されるべきデータ。 bool conditionデータをログに記録するには、条件をtrue に設定する必要がある。 A args記録されるデータ。 Returns: ロギング機能で使用されるロガーを参考までに記載する。ログ取得関数で使用されるロガーを参考までに記載する。例
auto l = new StdioLogger(); l.log(1337);
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy Aargs)
if (args.length > 1 && !is(Unqual!(A[0]) : bool) ||args.length == 0);
voidlog(T)(const LogLevelll, lazy Targs, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__, stringmoduleName= __MODULE__); - この関数は、使用中のLogger に特定のLogLevel でデータをログに記録する。生成されたログメッセージをLogLevelに記録するには、 LogLevel が使用するLoggerの 以上である必要があり 、グローバルなLogLevel 以上である必要がある。Parameters:
LogLevel llログメッセージの記録に使用される特定のLogLevel 。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.log(LogLevel.trace, 1337, "is number"); s.log(LogLevel.info, 1337, "is number"); s.log(LogLevel.warning, 1337, "is number"); s.log(LogLevel.error, 1337, "is number"); s.log(LogLevel.fatal, 1337, "is number");
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy Aargs)
if (args.length != 1);
voidlog(T)(lazy boolcondition, lazy Targs, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__, stringmoduleName= __MODULE__); - Loggerこの関数は、使用するLogger に、 使用するLogLevel で明示的に渡された条件に応じて データをログに記録する。生成されたログメッセージが記録されるためには、使用されたLogLevelの Logger は、グローバルなLogLevel 以上でなければならず、条件はtrue でなければならない。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.log(true, 1337, "is number"); s.log(true, 1337, "is number"); s.log(true, 1337, "is number"); s.log(false, 1337, "is number"); s.log(false, 1337, "is number");
- void
log(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy Aargs)
if (args.length > 1 && !is(Unqual!(A[0]) : bool) && !is(immutable(A[0]) == immutable(LogLevel)) ||args.length == 0);
voidlog(T)(lazy Targ, intline= __LINE__, stringfile= __FILE__, stringfuncName= __FUNCTION__, stringprettyFuncName= __PRETTY_FUNCTION__, stringmoduleName= __MODULE__); - この関数は、使用されたLogger に、使用されたLogLevelのLogger をログに記録する。生成されたログメッセージが記録されるためには、使用されたLogger のLogLevelは、 グローバルなLogLevel 以上でなければならない。Parameters:
A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.log(1337, "is number"); s.log(info, 1337, "is number"); s.log(1337, "is number"); s.log(1337, "is number"); s.log(1337, "is number");
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy boolcondition, lazy stringmsg, lazy Aargs); - この関数は、特定のLogger に、printf の条件に従って、LogLevel 形式でデータをログに記録する。生成されたログメッセージを記録するには、LogLevelは、 使用するLoggerのLogLevel 以上でなければならず、 グローバルなLogLevel 以上でなければならず、 条件はtrue でなければならない。Parameters:
LogLevel llログメッセージの記録に使用される特定のLogLevel 。 bool conditionデータをログに記録するには、条件はtrue でなければならない。 string msgこのログ呼び出しに使用されるフォーマット文字列。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.logf(LogLevel.trace, true ,"%d %s", 1337, "is number"); s.logf(LogLevel.info, true ,"%d %s", 1337, "is number"); s.logf(LogLevel.warning, true ,"%d %s", 1337, "is number"); s.logf(LogLevel.error, false ,"%d %s", 1337, "is number"); s.logf(LogLevel.fatal, true ,"%d %s", 1337, "is number");
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(const LogLevelll, lazy stringmsg, lazy Aargs); - この関数は、Logger で使用されているデータを、特定の LogLevel をprintf 形式でログに記録する。生成されたログメッセージを記録するには、LogLevelは、 使用するLoggerのLogLevel 以上でなければならず、 グローバルなLogLevel 以上でなければならない。Parameters:
LogLevel llログメッセージの記録に使用される特定のLogLevel 。 string msgこのログ呼び出しに使用されるフォーマット文字列。 A argsログに記録されるデータ。 例:
auto s = new FileLogger(stdout); s.logf(LogLevel.trace, "%d %s", 1337, "is number"); s.logf(LogLevel.info, "%d %s", 1337, "is number"); s.logf(LogLevel.warning, "%d %s", 1337, "is number"); s.logf(LogLevel.error, "%d %s", 1337, "is number"); s.logf(LogLevel.fatal, "%d %s", 1337, "is number");
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy boolcondition, lazy stringmsg, lazy Aargs); - この関数は、使用するLogger に、 使用するLogger のLogLevel で指定した条件に従って、printf 形式でデータをログに記録する。生成されたログメッセージを記録するには、使用されたLogger のLogLevelが グローバルなLogLevel 以上でなければならず、条件はtrue でなければならない。Parameters:
bool conditionデータをログに記録するには、条件はtrue でなければならない。 string msgこのログ呼び出しに使用されるフォーマット文字列。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.logf(true ,"%d %s", 1337, "is number"); s.logf(true ,"%d %s", 1337, "is number"); s.logf(true ,"%d %s", 1337, "is number"); s.logf(false ,"%d %s", 1337, "is number"); s.logf(true ,"%d %s", 1337, "is number");
- void
logf(int line = __LINE__, string file = __FILE__, string funcName = __FUNCTION__, string prettyFuncName = __PRETTY_FUNCTION__, string moduleName = __MODULE__, A...)(lazy stringmsg, lazy Aargs); - このメソッドは、Logger で使用されるLogLevelの Logger をprintf 形式でログに記録する。データを処理するには、LogLevel のLogger がグローバルLogLevel 以上である必要がある。Parameters:
string msgこのログ呼び出しに使用されるフォーマット文字列。 A argsログに記録されるべきデータ。 例
auto s = new FileLogger(stdout); s.logf("%d %s", 1337, "is number"); s.logf("%d %s", 1337, "is number"); s.logf("%d %s", 1337, "is number"); s.logf("%d %s", 1337, "is number"); s.logf("%d %s", 1337, "is number");
- @property @safe shared(Logger)
sharedLog();
@property @safe voidsharedLog(shared(Logger)logger); - このプロパティは、デフォルトのLogger を設定および取得する。ユーザーが別のロガーを設定しない限り、 デフォルトのロガーのログレベルはLogLevel.infoである。
例
sharedLog = new FileLogger(yourFile);
この例では、新しいFileLogger を新しいものとして設定するsharedLog。 もし、後で元のデフォルトのロガーを再び使用したい場合は、sharedLog = null; を使用する。これにより、元の設定に戻すことができる。注釈 取得と設定は
sharedLogスレッドセーフですが、 返された参照は現在のスナップショットにすぎず、 次のコードでは、読み込みと書き込みの間に他のスレッドが再割り当てしないように する必要がありますsharedLog。sharedLog使用するLogger がスレッドセーフである場合のみ、スレッドセーフとなります。 デフォルトのLogger はスレッドセーフです。if (sharedLog !is myLogger) sharedLog = new myLogger;
- @nogc @property @safe LogLevel
globalLogLevel();
@property @safe voidglobalLogLevel(LogLevelll); - これらのメソッドはグローバルLogLevel を取得および設定する。グローバルLogLevelより小さいLogLevel のすべてのログメッセージは、writeLogMessage メソッドに到達する前に破棄される。Logger の
- class
StdForwardLogger: std.logger.core.Logger; StdForwardLogger共有ログに常に転送されます。emailemailStdForwardLoggerLogLevel.fatal でデータがログに記録されている場合は、"スロー"しない。Examples:xml-ph-0000@deepl.internal のデフォルトコンストラクタ。auto nl1 = new StdForwardLogger(LogLevel.all);
- @safe this(const LogLevel
lv= LogLevel.all); - StdForwardLogger のデフォルトコンストラクタ。Parameters: xml-ph-0001@deepl.internal のための xml-ph-0000@deepl.internal 。 デフォルトでは、xml-ph-0002@deepl.internal は xml-ph
LogLevel lvMultiLogger のためのLogLevel 。 デフォルトでは、 LogLevel はall である。
- @property @safe Logger
stdThreadLocalLog();
@property @safe voidstdThreadLocalLog(Loggerlogger); - この関数は、スレッド固有のLogger を返す。デフォルトでは、sharedLog にログ記録されたすべてのデータを に伝搬する。これらのプロパティを使用して、このLogger を設定したり取得したりすることができる。 このLogger に対するすべての変更は、変更が行われたスレッドでのみ表示される。 このLogger は、独立したログ関数から呼び出される。これにより、 スレッドローカルなリダイレクトを作成し、独立したログ関数を使用することが 可能になる。Examples:同上
import std.logger.filelogger : FileLogger; import std.file : deleteme, remove; Logger l = stdThreadLocalLog; stdThreadLocalLog = new FileLogger(deleteme ~ "-someFile.log"); scope(exit) remove(deleteme ~ "-someFile.log"); auto tempLog = stdThreadLocalLog; stdThreadLocalLog = l; destroy(tempLog);
dittoditto
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.109.1
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku