Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ken Haneda
3,200 views
Cocolumberjackの使い方 Ios lt 20140327
Read more
4
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 16
2
/ 16
3
/ 16
4
/ 16
5
/ 16
6
/ 16
7
/ 16
8
/ 16
9
/ 16
10
/ 16
11
/ 16
12
/ 16
13
/ 16
14
/ 16
15
/ 16
16
/ 16
More Related Content
PDF
IM飲み会2010 Sekka開発秘話
by
Kiyoka Nishiyama
PDF
PHPでWebSocketを実装してみてわかったこと
by
ksimoji
ODP
@nukokusa_botを支える技術
by
Joe_noh
PDF
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
by
pandeiro245
PDF
コードを書かずにUINavigationBarを スワイプで表示/非表示させる
by
Kosuke Ogawa
PDF
Espressoじゃなくてcodaを使う理由
by
Tao Sasaki
PDF
Rubyボードハンズオン
by
三七男 山本
PDF
極小Rubyボードの紹介
by
三七男 山本
IM飲み会2010 Sekka開発秘話
by
Kiyoka Nishiyama
PHPでWebSocketを実装してみてわかったこと
by
ksimoji
@nukokusa_botを支える技術
by
Joe_noh
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
by
pandeiro245
コードを書かずにUINavigationBarを スワイプで表示/非表示させる
by
Kosuke Ogawa
Espressoじゃなくてcodaを使う理由
by
Tao Sasaki
Rubyボードハンズオン
by
三七男 山本
極小Rubyボードの紹介
by
三七男 山本
What's hot
PDF
properties, yaml, and me
by
Y Watanabe
PPTX
Aozorahack20161106
by
masayoshi takahashi
PDF
Wakayama.rbボードの使い方
by
三七男 山本
PPTX
やさしいGemパッチの作り方
by
Maki Toshio
PDF
GR-CITRUSの紹介
by
三七男 山本
PDF
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
by
Shoken Fujisaki
PDF
さわってみよう Couchbase Lite
by
ssd kfk
PDF
Rubyボードハンズオンテキスト
by
三七男 山本
PDF
Thin reports再び
by
sy250
PDF
RubyではじめるIoT(Wakayama.rb活動報告)
by
三七男 山本
properties, yaml, and me
by
Y Watanabe
Aozorahack20161106
by
masayoshi takahashi
Wakayama.rbボードの使い方
by
三七男 山本
やさしいGemパッチの作り方
by
Maki Toshio
GR-CITRUSの紹介
by
三七男 山本
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
by
Shoken Fujisaki
さわってみよう Couchbase Lite
by
ssd kfk
Rubyボードハンズオンテキスト
by
三七男 山本
Thin reports再び
by
sy250
RubyではじめるIoT(Wakayama.rb活動報告)
by
三七男 山本
More from Ken Haneda
PPTX
スタートアップ勉強会
by
Ken Haneda
PDF
Mvvm is like born fraction
by
Ken Haneda
PDF
Carthage+mvvm
by
Ken Haneda
PDF
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
by
Ken Haneda
PPTX
iOS bust #1
by
Ken Haneda
PPTX
#1Creators Learning English Meetup ~2017年、今年こそ英語!~
by
Ken Haneda
PDF
大人のHomekit
by
Ken Haneda
PDF
Vietnum labo dev
by
Ken Haneda
スタートアップ勉強会
by
Ken Haneda
Mvvm is like born fraction
by
Ken Haneda
Carthage+mvvm
by
Ken Haneda
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
by
Ken Haneda
iOS bust #1
by
Ken Haneda
#1Creators Learning English Meetup ~2017年、今年こそ英語!~
by
Ken Haneda
大人のHomekit
by
Ken Haneda
Vietnum labo dev
by
Ken Haneda
Cocolumberjackの使い方 Ios lt 20140327
1.
NSLogを過去にする CocoaLumberJack ios_社内LT 内定者 - 羽田(ジャンボ)
- @jumbOS5 3/27
2.
NSLogで満足してるんですか? 今までのNSLog ↓ マクロで色々書く・・・ マクロって何?柔軟じゃなくない?
3.
マグロといえば 備長炭火焼 "jige" 築地店 骨付きマグロの中落ちが 絶品だそうです・・・ 行きたひ(๑́`ڡ๑)
4.
ログを使えよエンジニア • 好みの形式のログを取りたい! • リリースビルドではログを出したくない! •
ログファイルをつくりたい! • 外部サービスには頼りたくない! • pod使ってる! CocoaLumberJack
5.
CocoaLumberJack podで入れる事のできるOSSのログ管理ライブ ラリ、「リリース時はログを出力しない」「独 自フォーマットでのログの出力」「ログの保存」 などなどを簡単に作れる。 *ちなみにlumberjackは「きこり」という意味
6.
導入 1. pod CocoaLumberjack' 2.
pod install 3. ソースをちょっと書く 「独自フォーマットでログを出力し、指定ディレクトリに保存。 リリースビルド時には表示されないようにすることを目的とする」 手順
7.
手を加えるソース 1. Appdelegate 2. xxx-Prefix.pch 3.
独自フォーマットクラス <- 作る
8.
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // コンソールログ DDTTYLogger *ttyLogger = [DDTTYLogger sharedInstance]; ttyLogger.logFormatter = [[CLTCustomFormatter alloc] init]; [DDLog addLogger:ttyLogger]; // ファイル出力ログ // ログファイル保存場所 NSString *logPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Logs/"]; DDLogFileManagerDefault *logFileManager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:logPath] self.fileLogger = [[DDFileLogger alloc] initWithLogFileManager:logFileManager]; self.fileLogger.logFormatter = [[CLTCustomFormatter alloc] init]; // ログファイル最大サイズ:10MB self.fileLogger.maximumFileSize = 10 * 1024 * 1024; // ログファイル最大個数:5個 self.fileLogger.logFileManager.maximumNumberOfLogFiles = 5; [DDLog addLogger:self.fileLogger]; DDLogInfo(@"%@", self.fileLogger.logFileManager.logsDirectory); ! return YES; } Appdelagete
9.
xxx-Prefix.pch// // Prefix header // //
The contents of this file are implicitly included at the beginning of every source file. // ! #import <Availability.h> #import <CocoaLumberjack/DDLog.h> #import <CocoaLumberjack/DDTTYLogger.h> #import <CocoaLumberjack/DDLog+LOGV.h> #import <CocoaLumberjack/DDASLLogger.h> ! #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif ! #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif ! #ifdef DEBUG // デバッグ時は全レベルのログを表示する static const int ddLogLevel = LOG_LEVEL_VERBOSE; #else // リリース時はログを表示しない static const int ddLogLevel = LOG_LEVEL_OFF; #endif
10.
独自フォーマットクラス https://github.com/CocoaLumberjack/ CocoaLumberjack/wiki/CustomFormatters - (NSString *)formatLogMessage:(DDLogMessage
*)logMessage { NSString *logLevel; switch (logMessage->logFlag) { case LOG_FLAG_ERROR : logLevel = @"E"; break; case LOG_FLAG_WARN : logLevel = @"W"; break; case LOG_FLAG_INFO : logLevel = @"I"; break; case LOG_FLAG_DEBUG : logLevel = @"D"; break; default : logLevel = @"V"; break; } NSString *dateAndTime = [self stringFromDate:(logMessage->timestamp)]; NSString *logMsg = logMessage->logMsg; NSString *fileName = logMessage.fileName; NSString *methodName = logMessage.methodName; int lineNumber = logMessage->lineNumber; NSString *threadID = logMessage.threadID; return [NSString stringWithFormat:@"%@ (%@) %@ [%@(%d) %@] %@", dateAndTime, threadID, logLevel, fileName, lineNumber, methodName, logMsg]; }
11.
使い方 • 独自フォーマットクラスのimport • ログの出力 DDLogError(@"Paper
Jam!"); DDLogWarn(@"Low toner."); DDLogInfo(@"Doc printed."); DDLogDebug(@"Debugging"); DDLogVerbose(@"Init doc_parse”);
12.
結果とデモ ! 2014/03/25 11:22:35 (60b)
E [CLTViewController(20) viewDidLoad] Paper Jam! 2014/03/25 11:22:35 (60b) W [CLTViewController(21) viewDidLoad] Low toner. 2014/03/25 11:22:35 (60b) I [CLTViewController(22) viewDidLoad] Doc printed. 2014/03/25 11:22:35 (60b) D [CLTViewController(23) viewDidLoad] Debugging 2014/03/25 11:22:35 (60b) V [CLTViewController(24) viewDidLoad] Init doc_parse
13.
まとめ pod時代のFlexible Loggerである CocoaLumberJack!! いつ使うの!!!!?????
14.
(|3[___] 時間のある時にやってみてください・・・zzz https://github.com/jumbo-in-Jap/cocoalumberjackTest サンプルとか置いときます。
15.
発展 + + _人人人人人人人人人人人_ > すごいログシステム <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ ストリームデータのiosアプリから出るログをストリームで取得、mongoDBにリアルタイム で入れて集計、「キー(メソッドとか)ごとに何件エラーログがあったか?」「infoに出力 された値の合計値の取得」などをJS(MongoShell)で書けるクールな状況。
16.
次回予告 内定者 正社員 Evolution. AutoLayout -
Live Coding 7.1からのいじりどこ coming soon…
Download