しかし、アプリってやっぱログ出ないとまずいよね〜(何が?)。
なので、今回はログ出力のやり方を。
※他のRed5関連のエントリはこちら
プロジェクトのビルドパスにログ出力ライブラリを追加
SLF4j、logback関連のjarファイルをEclipseプロジェクトのビルドパスに追加する。
必要なjarファイルは、
- slf4j-api-x.x.x.jar
- logback-classic-x.x.x.jar
- logback-core-x.x.x..jar
- jcl-over-slf4j-x.x.x.jar
- jul-to-slf4j-x.x.x.jar
- log4j-over-slf4j-x.x.x.jar
Red5のインストールフォルダに"lib"というフォルダがあって、そこに一式入っているので、そこから必要なjarファイルを指定してもいいし、別途入手してもいいと思いまする。
Eclipseでプロジェクトのプロパティを開いて、
Javaのビルドパス→外部Jarの追加で必要なjarファイルを指定して終了。
(macで外部jarファイルでこのファイルを指定する方法が分からなかったので、コピって適当なフォルダにおいて、そこにパスを通した。)
おまじない。
参考サイト(このエントリの一番下に記載)を見ながら、下記内容を追記。
logback設定ファイル「logback-myApp.xml」を作成
logbackの設定ファイルを作って中身を書く。ファイル名の"myApp"の部分は自分の作ったRed5アプリの名前。
例えば、 logback-HelloRed5.xml みたいな感じ。
このファイルを置く場所は「パスの通っている場所」とのこと。
oflaDemoを見ると、
webapps/oflaDemo/WEB-INF/classesに置いているようなのでこれを踏襲しよう。
ちなみに、Eclipseのプロジェクト上の置き場所は、動的Webプロジェクトだと、
(プロジェクトルート) - Java Resources - src直下に置くとデプロイされたときにうまく配置される。
お手軽なやり方は、
- 上記フォルダに空のlogback-myApp.xmlを作成
- logback-oflaDemo.xmlの内容をコピって、logback-myApp.xmlに貼り付け
- context-Name(2カ所)を自作アプリ名に修正
- ログファイル出力ディレクトリを修正(<File>タグのところ)
でいけるかと。
ちなみに、ログファイル出力ディレクトリは、
log/hogehoge.logと記述すると、webappsフォルダと同じ階層にあるlogフォルダ内にhogehoge.logというファイル名で出力されます。
あと、ログ出力実験ですべてのログが出るように、出力レベルはとりあえず"trace"にしておこう。
自分はこれに標準出力(コンソールへの出力)のappenderを追記しました。記載の内容は参考サイトなど他の詳しいサイトで(逃。
(ロギング詳しくなくて、root loggerとcontext loggerの挙動とかまだいまいち分かってないです。はは。もう少し勉強して追記します。)
出力先とかappend設定とか出力フォーマットとかいろいろいじれるので、追々いじっていけばいいかな。
設定はこれで完了。
ログ出力してみる
試しに、ApplicationAdaptorを継承した自作アプリのクラスに、エントリポイントの1つであるstartメソッドを追加(オーバーライド)して、その中でログを出力してみる。
まずは、メンバ変数にLoggerを追加。
MyClassNameとmyAppは自分の作ったクラス、アプリ名に合わせて修正。
必要なクラスのインポートも忘れずに。
あとは、適当にstartメソッドを追記。
ここまで書いたら、Red5を起動してみよう。
コンソールにこんなのが表示されるはず。
うむ。出たな。
[参考サイト]
Documentation/Tutorials/LoggingSetup – Red5
logback.xml - Java好き
0 件のコメント:
コメントを投稿