Submit Search
Upload
例外のlogを快適に
•
2 likes
•
1,659 views
Takashi Kawachi
Follow
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
セキュリティ&プログラミングキャンプ2009、ソースコードの読み方
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
Kei Nakazawa
2013/08/10の http://zusaar.com/event/977003 「ReVIEWによる書籍制作フローを勉強する会」で話した内容です。 出落ちすぎるので資料公開は後にしました(・ω<)
Buffer overflow
Buffer overflow
ionis111
とっとるびー第9回の資料 基本的な事ばかり並べてみました。 詳細は、「HACKING:美しき策謀」や解説サイトを見た方が良いですよ!
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
Sourcecode Reading Workshop2010 http://se.naist.jp/events/srw2010.html ソースコード理解と勉強会
Hacking Vox and Plagger
Hacking Vox and Plagger
Tatsuhiko Miyagawa
at DECON (Developers environment conference) 2006 in Tokyo.
ゆるかわPhp
ゆるかわPhp
Ryota Mochizuki
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
Recommended
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
セキュリティ&プログラミングキャンプ2009、ソースコードの読み方
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
Kei Nakazawa
2013/08/10の http://zusaar.com/event/977003 「ReVIEWによる書籍制作フローを勉強する会」で話した内容です。 出落ちすぎるので資料公開は後にしました(・ω<)
Buffer overflow
Buffer overflow
ionis111
とっとるびー第9回の資料 基本的な事ばかり並べてみました。 詳細は、「HACKING:美しき策謀」や解説サイトを見た方が良いですよ!
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
Sourcecode Reading Workshop2010 http://se.naist.jp/events/srw2010.html ソースコード理解と勉強会
Hacking Vox and Plagger
Hacking Vox and Plagger
Tatsuhiko Miyagawa
at DECON (Developers environment conference) 2006 in Tokyo.
ゆるかわPhp
ゆるかわPhp
Ryota Mochizuki
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
Esehara Shigeo
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる(四則演算するだけだけど) #ccc_c5 このセッションでは、四則演算するだけの簡単なJVM言語の作り方を紹介します。 言語はCode -(Lexer)-> Tokens -(Parser)-> AST -(Compiler)-> JVM bytecodeと変換して、JVMで実行します。今回Lexer/Parserの部分にANTLRを、それ以降の部分にTruffleを使います。とくにANTLRやTruffleについての事前知識は必要ありません。BNFを定義してANTLRを使ってASTを構築し、それをTruffleのASTに変換して渡すという実装部分について、各ライブラリの概要やAPIを紹介しながら説明します。すべてを丁寧に説明する時間はありませんので、このセッションで出たキーワードを各自あとで調べて学びを深めていただくことになるでしょう。この点をご了承いただいて、ぜひお越しください! なお、このセッションはDevoxxUS 2017でのOleg Šelajev-sanのセッション"How to Create a New JVM Language"にインスパイアされたセッションです (https://speakerdeck.com/shelajev/how-to-create-a-new-jvm-language-devoxx-us-17)。 対象者:ANTLR/Truffleに興味がある人、オレオレJVM言語を作ってみたい人
From Java To Clojure
From Java To Clojure
Kent Ohashi
JavaからClojureへ JavaプログラマこそClojureを始めよう! cf. English version: https://www.slideshare.net/KentOhashi/from-java-to-clojure-english-version
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
Scala Days参加レポートのような何か
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
Japan.R#2
Tokyo r33 beginner
Tokyo r33 beginner
Takashi Minoda
X86opti01 nothingcosmos
X86opti01 nothingcosmos
nothingcosmos
X86/X64最適化勉強会での紹介資料 コンパイラ系の簡単な紹介
いまさら聞けないRake入門
いまさら聞けないRake入門
Tomoya Kawanishi
Ruby/Rails勉強会第49回発表資料
[輪講] 第1章
[輪講] 第1章
Takenobu Sasatani
Python機械学習プログラミングのOverview
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
言語処理系入門1
言語処理系入門1
Kenta Hattori
会社でやっていたソフトウェア基礎講座での講義資料
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
Kanazawa.js.Next
Kanazawa.js.Next
dynamis
Kanazawa.js 1.7 with Mozilla で利用したスライド 容量 10MB 制限があった時期に SpeakerDeck に UP していたもの: http://speakerdeck.com/u/dynamis/p/kanazawajavascriptnext
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
Go Sueyoshi (a.k.a sue445)
2011/9/24開催「TDD BootCamp 札幌 2.1」での発表資料です
Ocamlでpfffを拡張した話
Ocamlでpfffを拡張した話
Rie Nakau
第2回 関数型言語勉強会 大阪の発表資料です。
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Exgettextの話
Exgettextの話
k1complete
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Kei IWASAKI
NODE-Setagaya#9 (http://www.zusaar.com/event/4877003) で話した時に使ったスライドです。 ※ https://speakerdeck.com/laughk/cli-mini-hack-number-1-terminaltofalseqin-mu-woshen-meyou のクローン
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
LOCAL PHP部 札幌勉強会02(ちょっと豪華なフレームワーク特集) 2009年のPHPフレームワーク http://labs.nazone.info/
MacroPyがすごい
MacroPyがすごい
Takashi Kawachi
MacroPy の紹介
Silhouette intro
Silhouette intro
Takashi Kawachi
play silhouette
More Related Content
Similar to 例外のlogを快適に
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
Esehara Shigeo
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる(四則演算するだけだけど) #ccc_c5 このセッションでは、四則演算するだけの簡単なJVM言語の作り方を紹介します。 言語はCode -(Lexer)-> Tokens -(Parser)-> AST -(Compiler)-> JVM bytecodeと変換して、JVMで実行します。今回Lexer/Parserの部分にANTLRを、それ以降の部分にTruffleを使います。とくにANTLRやTruffleについての事前知識は必要ありません。BNFを定義してANTLRを使ってASTを構築し、それをTruffleのASTに変換して渡すという実装部分について、各ライブラリの概要やAPIを紹介しながら説明します。すべてを丁寧に説明する時間はありませんので、このセッションで出たキーワードを各自あとで調べて学びを深めていただくことになるでしょう。この点をご了承いただいて、ぜひお越しください! なお、このセッションはDevoxxUS 2017でのOleg Šelajev-sanのセッション"How to Create a New JVM Language"にインスパイアされたセッションです (https://speakerdeck.com/shelajev/how-to-create-a-new-jvm-language-devoxx-us-17)。 対象者:ANTLR/Truffleに興味がある人、オレオレJVM言語を作ってみたい人
From Java To Clojure
From Java To Clojure
Kent Ohashi
JavaからClojureへ JavaプログラマこそClojureを始めよう! cf. English version: https://www.slideshare.net/KentOhashi/from-java-to-clojure-english-version
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
Scala Days参加レポートのような何か
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
Japan.R#2
Tokyo r33 beginner
Tokyo r33 beginner
Takashi Minoda
X86opti01 nothingcosmos
X86opti01 nothingcosmos
nothingcosmos
X86/X64最適化勉強会での紹介資料 コンパイラ系の簡単な紹介
いまさら聞けないRake入門
いまさら聞けないRake入門
Tomoya Kawanishi
Ruby/Rails勉強会第49回発表資料
[輪講] 第1章
[輪講] 第1章
Takenobu Sasatani
Python機械学習プログラミングのOverview
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
言語処理系入門1
言語処理系入門1
Kenta Hattori
会社でやっていたソフトウェア基礎講座での講義資料
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
Kanazawa.js.Next
Kanazawa.js.Next
dynamis
Kanazawa.js 1.7 with Mozilla で利用したスライド 容量 10MB 制限があった時期に SpeakerDeck に UP していたもの: http://speakerdeck.com/u/dynamis/p/kanazawajavascriptnext
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
Go Sueyoshi (a.k.a sue445)
2011/9/24開催「TDD BootCamp 札幌 2.1」での発表資料です
Ocamlでpfffを拡張した話
Ocamlでpfffを拡張した話
Rie Nakau
第2回 関数型言語勉強会 大阪の発表資料です。
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Exgettextの話
Exgettextの話
k1complete
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Kei IWASAKI
NODE-Setagaya#9 (http://www.zusaar.com/event/4877003) で話した時に使ったスライドです。 ※ https://speakerdeck.com/laughk/cli-mini-hack-number-1-terminaltofalseqin-mu-woshen-meyou のクローン
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
LOCAL PHP部 札幌勉強会02(ちょっと豪華なフレームワーク特集) 2009年のPHPフレームワーク http://labs.nazone.info/
Similar to 例外のlogを快適に
(20)
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
From Java To Clojure
From Java To Clojure
Scala Daysに行ってみて
Scala Daysに行ってみて
ATN No.2 Scala事始め
ATN No.2 Scala事始め
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Tokyo r33 beginner
Tokyo r33 beginner
X86opti01 nothingcosmos
X86opti01 nothingcosmos
いまさら聞けないRake入門
いまさら聞けないRake入門
[輪講] 第1章
[輪講] 第1章
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
言語処理系入門1
言語処理系入門1
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
Kanazawa.js.Next
Kanazawa.js.Next
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
Ocamlでpfffを拡張した話
Ocamlでpfffを拡張した話
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Exgettextの話
Exgettextの話
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
2009年のPHPフレームワーク
2009年のPHPフレームワーク
More from Takashi Kawachi
MacroPyがすごい
MacroPyがすごい
Takashi Kawachi
MacroPy の紹介
Silhouette intro
Silhouette intro
Takashi Kawachi
play silhouette
最小 Hello World! チャレンジ
最小 Hello World! チャレンジ
Takashi Kawachi
最小 Hello World! チャレンジ
Sbt doctest
Sbt doctest
Takashi Kawachi
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Takashi Kawachi
やさしいIteratee入門
やさしいIteratee入門
Takashi Kawachi
できるだけわかりやすくIterateeを説明します。
Sbt lock1
Sbt lock1
Takashi Kawachi
Haskell超初心者勉強会20
Haskell超初心者勉強会20
Takashi Kawachi
Haskell超初心者勉強会17
Haskell超初心者勉強会17
Takashi Kawachi
Haskell超初心者勉強会14
Haskell超初心者勉強会14
Takashi Kawachi
Haskell超初心者勉強会11
Haskell超初心者勉強会11
Takashi Kawachi
Scalaでの例外処理
Scalaでの例外処理
Takashi Kawachi
Scala 勉強会 in 東京 第95回で発表して来ました。
More from Takashi Kawachi
(12)
MacroPyがすごい
MacroPyがすごい
Silhouette intro
Silhouette intro
最小 Hello World! チャレンジ
最小 Hello World! チャレンジ
Sbt doctest
Sbt doctest
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
やさしいIteratee入門
やさしいIteratee入門
Sbt lock1
Sbt lock1
Haskell超初心者勉強会20
Haskell超初心者勉強会20
Haskell超初心者勉強会17
Haskell超初心者勉強会17
Haskell超初心者勉強会14
Haskell超初心者勉強会14
Haskell超初心者勉強会11
Haskell超初心者勉強会11
Scalaでの例外処理
Scalaでの例外処理
例外のlogを快適に
1.
例外 の log
を快適に Play meetup 2, 2015-07-05 @kawachi
2.
普段見ている景色
3.
例外の log ながいなー
4.
Play は logback
を使っているので logback の機能がそのまま使える
5.
conf/logback.xml に設定すれば OK
6.
デフォルトのフォーマット <pattern> %coloredLevel - %logger
- %message%n%xException </pattern>
7.
stack trace の深さを制限 <pattern> %coloredLevel
- %logger - %message%n%xException{3} </pattern> 深さ3まで
8.
各々3つまでに だいぶ見やすい
9.
でも深さ3で大丈夫? 自アプリの行は全部出したいが 自アプリ内で関数呼び出しが 深くなることもあるだろうし…
10.
一方 Rails は… 自分のアプリに 含まれる行だけを
filter していた https://github.com/rails/rails/blob/master/railties/lib/rails/ backtrace_cleaner.rb
11.
信頼と実績の logback なら できるよね?
12.
4ヶ月前に入ってた!
13.
指定したstack frame を 非表示に <pattern> %coloredLevel
- %logger - %message%n %xException{full,play,akka,scala} </pattern> 深さは全部(full) “play” と “akka” と “scala” の行を除く
14.
あ、あれ? 自分の書いた stack frame
も出ない…
15.
行を文字列マッチしてるだけなので “scala” を指定すると↓も非表示に… at controllers.Application.foo(Application.scala:8)
16.
作るしか無いか…
17.
作った
18.
依存性追加して (build.sbt) libraryDependencies += "com.github.tkawachi"
% "appexception-logback" % "0.0.2"
19.
conversionRule を追加 (logback.xml) <conversionRule conversionWord=“appEx” converterClass= “com.github.tkawachi.appexception.AppThr owableProxyConverter"
/> appEx という名前で使えるようにする
20.
指定したstack frame だけ表示 <pattern> %coloredLevel
- %logger - %message%n %appEx{controllers,foo.bar} </pattern> 完全修飾クラス名が “controllers”, “foo.bar” から始まる frame だけを表示。
21.
思い通りの仕上がりに
22.
<property name="appClassPrefixes" value=" controllers, views “/> <pattern> %coloredLevel
- %logger - %message%n %appEx{${appClassPrefixes}} </pattern> prefix 指定が長くなる時は別定義して呼び出せます
23.
まとめ • logback.xml をいい感じに書くと ログが見やすくなる •
指定クラスの stack frame だけ出す appexception-logback 作った https://github.com/tkawachi/appexception-logback • Feedback お待ちしています
Download now