Cocoa Lumberjackのファイルと行番号を表示する方法を見つけようとしています。Cocoa Lumberjack:ファイルと行番号を表示する方法は?
Googleドキュメントとグーグルを見て、簡単にこれを行う方法は見つけられませんでした。
カスタムフォーマッタを追加せずにこれを行う方法はありますか?
Cocoa Lumberjackのファイルと行番号を表示する方法を見つけようとしています。Cocoa Lumberjack:ファイルと行番号を表示する方法は?
Googleドキュメントとグーグルを見て、簡単にこれを行う方法は見つけられませんでした。
カスタムフォーマッタを追加せずにこれを行う方法はありますか?
私が言ったように、組み込みの方法はありません。だから、私は、カスタムフォーマッタを実装しました:
@interface LineNumberLogFormatter : NSObject<DDLogFormatter>
- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;
@end
@implementation LineNumberLogFormatter
- (NSString *)formatLogMessage:(DDLogMessage *)logMessage
{
NSString *path = [NSString stringWithCString:logMessage->file encoding:NSASCIIStringEncoding];
NSString *fileName = [path lastPathComponent];
return [NSString stringWithFormat:@"%@:%d %@", fileName, logMessage->lineNumber, logMessage->logMsg];
}
@end
ユルクが示唆したように、いずれかの些細な方法はありませんが、あなたがあなた自身のフォーマッタを定義した場合、それは非常に簡単です(docを参照)
を別のフォーマッタながらクラスが動作すると、ロギングコードがもう少し冗長になります。私のプロジェクトでは、私はそうのようCocoaLumberjackを利用するいくつかの追加のマクロの追加を選択しました:クライアントコードで
// Prefix.pch file
// ...
#ifdef DEBUG
#define DLogError(fmt, ...) DDLogError((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#define DLogWarn(fmt, ...) DDLogWarn((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#define DLogInfo(fmt, ...) DDLogInfo((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#define DLogDebug(fmt, ...) DDLogDebug((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#define DLogVerbose(fmt, ...) DDLogVerbose((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define DLogError(fmt, ...)
#define DLogWarn(fmt, ...)
#define DLogInfo(fmt, ...)
#define DLogDebug(fmt, ...)
#define DLogVerbose(fmt, ...)
#endif
を、あなたがして呼び出すことができます。https:
DLogWarn(@"This is a warning");
ありがとう、これはとても役に立ちます – Natalia
フォーマットのドキュメントはここに移動しました://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/Documentation/CustomFormatters.md – Natalia