[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 10/30 04:07 / Filesize : 205 KB / Number-of Response : 753
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Java】Apache Jakarta Commons



1 名前:デフォルトの名無しさん [04/09/12 10:56:03]
クラスもかなり増えてきた
Apache Jakarta Commons について語るスレッド

Apache Jakarta Commons
jakarta.apache.org/commons/

中でも便利なものが
Commons Lang
jakarta.apache.org/commons/lang/
Commons Collections
jakarta.apache.org/commons/collections/
Commons FileUpload
jakarta.apache.org/commons/fileupload/

とくにLangには equals(), hashcode(), compareTo(), toString()
メソッドを簡単にオーバライドできるメソッドが用意されており重宝する。
そのほか、NestableExceptionはC#のような言語に頼らなくても
投げられ続けた例外を上書きせずに保持する事ができるので便利。

Collectionsは java.utilのコレクションクラスに不満を持つ者にとっては
朗報だ。ListとHashを兼ねた便利なクラスも用意されており、その数は豊富である。


267 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:23:37 ]
>>206
へぇ。
Java5になってからGenericsで型チェックできるようにパラメタライズされてないのかな。

268 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:24:53 ]
>>212
high burn eight
普通にハイバネートと発音したい気が。


269 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:28:34 ]
>>236
> あっそう。拾ったライブラリはテストしなくても信頼できるんだ。ふーん。
> 目当てのメソッド以外のクラスやメソッドが使われた時のテストや管理のリスクは無視か。
> 趣味で触ってるやつならともかく、人のコード見ないで出来る仕事ってそうはないと思うがな。
> >jarがいくつになれば気が済むんだと問いたい問い詰めたい。
> これについでの回答は?
> おめぇの趣味で一々jar入れてたら100や200個になりかねないから、

率直にMaven使えよ。
mavenのクラスパスを一つ通すだけで自動でダウンロード、自動でインストールしてくれるぞ。


270 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:30:18 ]
>>241
あと、mavenのほかにFatJarもつかってJarを一つにまとめろ
これらは双方ともEclipse用プラグインも用意されている


271 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:35:15 ]
>>253はなにか頭がバグってるな
Commonsは
Commons Sandbox以外ならかなり信用できる。
CommonsというのはJava標準APIに足りない機能を補う
ためにあるようなもんだ。


272 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:37:21 ]
メールアドレスの書式チェックメソッドGenericValidator#isEmail()を
使いたいがためにCommons ValidatorのJarを入れた俺はDQNですか?

273 名前:デフォルトの名無しさん [2005/09/03(土) 00:44:28 ]
>>252
宗教といっても、何も確たる根拠も無しにオープンソースを否定して
これは使っちゃダメだあれは使っちゃダメだと
いきなり決めつけるのもかなり宗教っぽいけどね。
豚肉喰っちゃダメだ牛も喰っちゃダメだクリスマスなんかやっちゃだめだって
いってるイスラム教徒みたいな。食い過ぎれば不健康で心臓病になるけど
適度に運動しながら野菜などと一緒にバランス良く食べていれば無害どころか栄養たっぷり。

それを調べもせずにいきなりダメだって人に押しつけるのはプロジェクトの進行にかなり響く。

オープンソースを何も考えずに否定するのは暗黒時代の魔女狩りにも似ている。
何人もの大富豪の男を、男の姿に化けた女だと勝手に決めつけて殺してしまったっていう史実があるわけだ。
殺した後にそのお金が教会や国の資金源になるから陰湿にもわざとそういうことをしたってわけだ。

彼が外部のライブラリ使用を拒む理由は車輪の再発名をしてでも何もかも自分で作ってしまって
それがすべて自分でやったから周りから偉い奴だと思ってくれるだろう錯覚しているうのだろう。
あるいは、手柄を自分のものにして、自分にしかわからないようなコードをわざと書いて
そのプロジェクトをすべて自分の管理下に置いて自分の立場を維持したいという保守的な考えを持つ人間なんだろう。



274 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:45:29 ]
>>272
いいえ。問題なし。じゃんじゃんつかっちゃいなさい。
オープンソースなんだし。
そんじょこらのクローズドソースなバイナリよりも信用できる。

275 名前:デフォルトの名無しさん [2005/09/03(土) 11:43:33 ]
>>267
それをやろうとするとJava5専用になる。
主要なツールはGenericsに対応したJava5対応版を出してほしい
現状だと、Java5で作っていてもツールからオブジェクトを取り出すときに結局はキャストが必要になってしまうし



276 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 10:35:13 ]
>>273
> >>252
> 宗教といっても、何も確たる根拠も無しにオープンソースを否定して
> これは使っちゃダメだあれは使っちゃダメだと
> いきなり決めつけるのもかなり宗教っぽいけどね。
周り読んでも全然誰もそんなこと言ってないんだけど。
その極端な話の飛躍の仕方が宗教っぽい。


277 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 09:19:54 ]
ていうかなんで今になってそんな古いネタを掘り起こしてるのかがわからんな。
>273
キモイ

278 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 12:07:30 ]
ところでオライリーのjakarta-commonsクックブックはどうでした?

ザッと流し読みした感じだと可もなく不可もなくかなあ。

279 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 16:03:41 ]
commons-httpclient.jar を gcj で使いたいのですが、

javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory

などが gcj に対応していないためコンパイルが通りません。
しかしその部分のメソッドはプロジェクトで使用していないので
どのように回避したら良いかわかる方がいらっしゃいましたらご教授お願いします。

280 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 16:59:27 ]
単純に
・不要なのを取っ払ってコンパイル。
・ばらして1つずつコンパイル、通ったものだけを集める。
が考えられます。知らないけどSocketFactoryはなくていいの?
それよりも、なぜここでしたか


281 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 20:52:12 ]
>>280
早速のレスありがとうございます。
それを参考にzipアーカイバで使わないclassファイルを削除しましたが、
それぞれが関連し合っていてなかなかうまくいかないようです。
commons-httpclient.jarはオープンソース化されていないのでしょうか?

282 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:42:06 ]
>>281
そんなわけない

283 名前:デフォルトの名無しさん [2005/09/30(金) 17:34:23 ]
CommonsじゃなくてOROなんですが
Perl5Utilのsubstittutionで\\uってちゃんと動きますか?
velocityのライブラリに入ってるバージョンで試したのですがうまくいきません。

284 名前:デフォルトの名無しさん [2005/10/04(火) 00:07:11 ]
commons betwixtなんですが、0.5以前のバージョンでsetWriteEmptyElements(false)と同等の処理は出来ないのでしょうか?
値を設定されていないプロパティはタグ自体が出力されないようにしたいのですが・・・。

285 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 02:19:24 ]
>>278
俺的にはかなり勉強になりました。って一ヶ月も前のコメントですか・・・。

ファンクターなんてのがある事をこの本読んで初めて知ったよ。
考え方はデザパタで知ってたけど、標準的な方法があると使ってみようって気になるね。
ただ、条件式を切り出しただけのクラスとか作ってるとクラス数が爆発しそうな気も・・・。

Pridicateとかって実際に使ってる人います?




286 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 04:10:03 ]
Lispのlambda(無名関数)と同じように
Predicateとかは基本的に無名クラスで使うとよい。

287 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 09:35:15 ]
>Predeicate
結構よく使う。 基本的には無名クラスが多い。
Transfomerは滅多に使わない。 Closureは存在を忘れている事が多い。
ComparatorChainは便利。 テーブルのソートなんかで多用してる。


288 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 06:56:33 ]
formでDynaFormを使用した場合で
java.lang.Doubleやjava.mathBigDecimalなどでform-propertyを宣言して
画面からhtml:textで未入力状態で送信すると例外を発生するのは回避不可?
BeanUtilsのpopulateメソッドのエラーっぽいし、無理かな
まあ、BeanUtilsを修正するかString型に回避すればいいけど

289 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 00:42:12 ]
Commonsじゃないけど、Regexpってなんて読むの?

290 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 00:54:28 ]
>>289
「レギュラーエクスプレッション」の省略形だけど、別の読み方があるのかな?
カスタムタグのTLDファイルの「rtexprvalue」も悩ましい。
「Runtime Expression Value」の省略形なんだけど。。。

291 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 23:44:14 ]
俺はリジェックスピーって読んでるよ、心の中で。
もちろんLispのS式はセックスピー

292 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 00:03:03 ]
僕は「れぐえくすぷ」って呼んでます。

293 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 00:36:48 ]
僕は
れぐいーえっくすぴー

294 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 05:12:21 ]
>>293
ヽ( ・∀・)人( ・∀・)ノ ナカーマ

295 名前:デフォルトの名無しさん [2005/10/14(金) 14:44:10 ]
ttp://jakarta.apache.org/
が落ちててDTDの読み込みに影響出てます。
同じ現象の人います?



296 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 14:47:49 ]
携帯からだと見れてしまいました。
アクセス制限かルーターの異常か?
スレよごしすみませぬ。

297 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 15:05:15 ]
DTD宣言を実際読みに行くのってエディタかなんか?
だったらローカルに落としたほうが手っ取り早いと思われ。

298 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 15:41:14 ]
>>297
DTD 宣言を含む XML を編集するときにエラー扱いにされてうざい、ってことじゃないの?

俺も解決法があったら聞きたい。

299 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:47:58 ]
>>283
> CommonsじゃなくてOROなんですが
> Perl5Utilのsubstittutionで\\uってちゃんと動きますか?

それはJavaのString型環境にあわせて
さらにJava用にエスケープしなければならな。


つまり、Java文字列中では、

\\u -> \\\\u

としなければならない。

\\uは Javaでは\uにみえ、
\\\\uにしたときはじめてJavaは\\uと解釈してくれる。
Perl用にエスケープしてさらにJava用にエスケープしないと
動かない。
二重エスケープってところですな。


300 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:57:45 ]
>>289
regexp
レゲックス
レゲックス婦
れじぇっくす
レジェックスプ
利げっくす(プ
りじぇくす(プ

自然大数の底exp()関数よりもじってレグネスクポーネント
レグネクスポネンジャル
レグネクスポ
レグネクスプ
レグスプ
レジェクス
リジェクス
レジェバイプ
レジェザップ
リジェザップ
レジェズープス これではRege XOOPS?
レジェ・タイムズ・ペッ!
レジェタイプ
レジェペケポン
リジップス
リジェップス
レジェンプス




301 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:59:02 ]
>>289
rtexprvalue
アーテフプリヴァリュー
ラリパリュー
ライプリュー
レフプライヴァリュー
レプリャリュー
レッズファリュー

302 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:47:31 ]
>>267
つうか、カワイイとかかわいくないとか
どっちにしてもこんな掲示板で書いたら
月曜日その子に会わせる顔が無いよ
かわいくないと書いた時はまずいのわかっているし
カワイイと書いたなら意識されるだろうし・・・
掲示板でそんな事聞くなよ

303 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:49:22 ]
>>302
いや、多分このスレに書く分には大丈夫だと思うぞw

304 名前:デフォルトの名無しさん [2005/10/15(土) 19:51:08 ]
誤爆?

305 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:51:32 ]
>>302
オレは相談にのるぞ。



306 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:55:58 ]
スマンソ 
ようするに、SEXの締めをクンニ逝きっていうのが 「いみあるのか?」っていうことか

307 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:33:07 ]
わたしの彼氏も風俗にいったときはすごいショックだったけど
なんか、向こうも仕事だからすごい事務的らしいよ。
わたしは絶対行ってほしくないとまではいわないけど、
行くならわたしにはいわないでほしい・・・

308 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:36:16 ]
>>307
Commons つまり共通の悩みってことか。
言わなかったら浮気だと勘違いするだろ。
スレ違いだよ。

309 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:40:02 ]
誤爆適用スレってしってるか?
今日は当たり日なんだろうか・・・

310 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 21:01:50 ]
>>307
アホか、風俗はめっちゃフレンドリーやっちゃうねん。
ソース読めとかググれとか氏ねとか言わないからな。
これで有料じゃなきゃ最高なんだけどな。

311 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 21:07:08 ]
事務的フレンドリー

312 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 23:17:53 ]
事務的なフレンドリーと心からのおざなり、どっちがいいかっちゅうねん。

313 名前:デフォルトの名無しさん [2005/10/18(火) 13:23:21 ]
>>299
ご回答ありがとうございます。
ご指摘の点は理解しているつもりですが
実際にやってみると以下のように
そのまま\\uが印字されてしまいます。

new Perl5Util().substitute("s/(?:^|_)(\\w)/\\\\u$1/g", "t_mst_user");
(java.lang.String) \\ut\\umst\\uuser

なにかしょうもない勘違いをしているのでしょうか…

314 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 17:20:05 ]
jdk-1.4.2 && jakarta-oro-2.0.8 で実行させたところ

new Perl5Util().substitute("s/(?:^|_)(\\w)/\\u$1/g", "t_mst_user")
=> TMstUser

でした。問題なさそう。('\u' が欲しいようなので '\\u' で十分の模様。)
Perl5 の正規表現に不慣れなので、もしかしたら間違ってるやも。

velocity-dep-1.4.jar ではなく
velocity-1.4.jar と jakarta-oro-2.0.8.jar の組み合わせで
試してみるとどうなります?

315 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 12:43:45 ]
>>314
ありがとうございます!
jakarta-oro-2.0.8.jarだと無事いけました。
velocityに入っていたやつには未実装だったのですね...



316 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 15:36:50 ]
log4jのLogクラスで行番号が出せるけど、行番号なんてどうやって出しているのだろうか
Cのプリプロセッサだけの芸当かと思ってた

317 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 16:19:04 ]
>>316
せっかくソースも配布されているので見てみればよいのでは。



見たらかなり力技だった。Throwable#printStackTraceの出力を解析してた。
(org.apache.log4j.spi.LocationInfo)

318 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 16:33:52 ]
>>316
マルチ

319 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 18:42:42 ]
マルチさんのおかげて勉強になった
火のないところでthrowしてるってこと?
ロギングにそゆー力技いれるってjakartaはやっぱすげーな世界が違う
俺だったら尻込みする

320 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 20:11:35 ]
>>319
jakarta っつーより、作ったのは IBM だろ。
すげーなっていうのは今だにバカっぽい実装してる嫌み?
行番号なんか簡単に取れるだろ。

new Exception().getStackTrace()[0].getLineNumber()

メソッド名やどこから呼ばれたかも取れる。
ただ、正常系でこんなもん使ってる奴がいたらうんこだけどな。

321 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:03:42 ]
>320
いやいや違う、ロギングってオプション的な機能だから
変わった事やって主処理に影響でるなんてまずいんで
コードの質に自信がないとできないなよなと思って

言ってる事伝わらなそうだ、とにかくjakartaに嫌味なんて滅相もない、
白状するとcommonsのソース読んでからかなりパクってます。

自分で何言ってるかわかんね、まとまんね、もういい送信!今目をつけてるのbcel!

322 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:38:46 ]
>>320
これいいただきん

323 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:45:09 ]
>>320
これってjavaのコンパイルオプション関係なしに取得可能?

324 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 23:16:50 ]
>>323
当然
> javac -g:none Hoge.java
とかすると取得不可。

325 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 23:27:04 ]
>>324
ということは、企業の運用されているマシーンで、-g:noneなしにコンパイルしたクラスなら
取得可能ですね。
これいただき。



326 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:09:29 ]
>>325
書いたら喜んで使い出すが奴がいそうだから、わざわざ
うんこって書いたんだが。使うんなら、ちゃんと例外コストを
考えて無効にできる機構を用意しろよ。

それを持ってるのが log4j だけどなw

327 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:18:02 ]
>>321
jakarta のコード書いてる奴もただの人だろ。
見てるうちに、あほなコードがわんさかあることに気づく。

BCEL 見るなら、CGILIB、Javassist、JBoss4 のコード見てみ。
CGILIB のコードは美しい。JBoss はやってることがすごい。

328 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:23:54 ]
>>320
Thread.getStackTrace() した方が。1.5 以降だけど。

329 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 11:57:00 ]
log4jってなんでクラス毎でlog4j用のfieldを用意しなければ行けないの。
ログなんだから、普通スタティックメソッドオンリーだろ。
なんだよその仕様

330 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 12:19:40 ]

J

331 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 12:30:07 ]
 │
 O
 G
 4
 J

332 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 14:04:07 ]
↑あんた最高

333 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 23:52:17 ]
>>329
じゃ、Log4j だけじゃなく、commons logging も JDK のロガーも
全部だめなんだな。

とりあえず、おまいがオブジェクト指向の利点が、さっぱり
分かってないのは理解できた。それが分かるまで
おまいは static メソッドの作成は禁止だw

334 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 02:00:51 ]
オブジェクト指向の利点がサパーリわからんので、staticメソッドオンリーでいきまつ

335 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 22:05:52 ]
>>333
わかってないやつが書きそうなもんだな。
具体的に書いてみろ。Cプログラミング屋さん



336 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 00:35:43 ]
>>335
・プロバイダーフレームワーク
・インスタンス数の管理が可能
・実装クラスが作成時点で存在している必要がない。
・もちろん多態
・設定により実装クラスが変わる

不特定多数のシステムに提供するなら、上記のような拡張性・柔軟性は必須だ。
閉じたシステムしか書いたことない奴には分からんかもしれんな。
昔は static メソッドで書かれた俺様ロガーがたくさんあったかも
しれんが、それをオープンで公開すれば、なぜ static がだめか
なぜ要求に耐えられないかが分かるだろ。

で、分かってるお前の意見を教えてくれ。
分かってないだろw

337 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 02:39:54 ]
>>336
作るものに依存する。

338 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 16:25:22 ]
XMLの読み込みに特化したい場合、
Digester使うのと、XmlBeans使うのと、どちらが効率的ですか?
Digesterの解説はあちこちあるんですが、後者は自分には解説がわかりにくい。。。

XMLファイルを渡してやると、自動的にBean作ってくれたりするとありがたいんですが。


339 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 17:51:29 ]
ASF の産物じゃないですけど Relaxer 使ってみるのも手ですよ。
XML Beans が生成するクラスはちと複雑ですけど、
Relaxer が生成するクラスはより POJO ライクです。

個人的には読み込みだけなら Digester が一番だと思ってます。
ルールを XML に書けるのが便利なんで。

ルールがある程度以上複雑になる場合
(格納クラスを手で書く手間 > スキーマを書く手間)は
スキーマ切って Relaxer 使ってます。

より複雑な検証が必要な場合は XML Beans です。

340 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 19:27:32 ]
適当なオブジェクトをbetwixtで書き出してみて
それがしっくりくるならdigesterで足りる
じゃなきゃ俺もRelaxerをすすめる
Relaxerは頭に入れやすいよ

341 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 23:12:14 ]
>>338
JAXB は? 定義いるけど。

342 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 08:21:46 ]
digesterはgetしたものそのままsetしたい時に発狂する
XML Beansはさくさくいくのは困難、最初は普通に発狂する

343 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 09:33:22 ]
digesterは設定読み込みが目的だから、setにはbetwixtが向いてるんでは

344 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 10:07:39 ]
>>336
重症・・。
ちがうんだよ。その機能はstaticメソッドでも可能。俺はそうしている。
statcktrace使えば、さかのぼって呼び出し元が完璧にわかるから、
すべて実現できるのstaticで。
だったら普通staticで提供だろ、util関係は基本全部static実装だし、
そうするように設計すべし。

345 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 10:22:25 ]
static メソッドになった場合、今までと同様の情報を出力するには
確実に今までよりパラメータが一つ増えるんだが、
それをわずらわしく感じないなら、それでいいんじゃないかな。
俺は勘弁してほしいが。

if(logger.isTraceEnabled(){
  logger.trace("なんやら", t);
}



if(Log.isTraceEnabled(this)){
  logger.trace(this, "なんやら", t);
}



346 名前:338 mailto:sage [2005/10/28(金) 11:12:59 ]
>>339-343
アドバイスありがとうございました。

とりあえずDigesterで基本的な動きは確認してみました。
XML読み込んで、それをマップしたObjectからのgetだけが目的なので、
事足りそうではありますが、
Relaxerの評判も良いようなので(確か国産ですよね?)、こちらも勉強したうえで、
どっちが自分の目的に合うのかを判断してみることにします。


347 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 11:21:37 ]
>343
親をgetしてカレントのsetへってやりたくなんなかった?俺だけ?
もしできるの?できそうでできないのがすっごい発狂したんだけど

>338
digesterは既存のものにあわせるとしんどかった
digester前程で作ればすごい楽だと思う

>345
勘弁同意
Logger.instance(this).log("えらー")っての見たことあるこれは辛かった

348 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 12:24:39 ]
>Logger.instance(this).log("えらー")
うわ嫌すぎる...
staticにすることで手間が増えるんなら、オブジェクトでいいじゃんよ。
しかも元からあるんだから、いちいち書く手間いらないし。

349 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 12:47:33 ]
Logoer の話題が出たついでに便乗質問。

private static Log log = LogFactory.getLog(Hoge.class);
private Log log2 = LogFactory.getLog(this.getClass());

この二つのメリットとデメリットって何ですか?
前者を使えと言われて理由も聞いたような気がするんですが忘れてしまいました。on_

350 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 22:37:08 ]
>>349
おまいも >>344 と同じくらい分かってないな。

Hoge.class を渡すのと getClass() の違いはなんだ?
例えば、後者はそのロガーの getter があったとしたら、
Hoge のサブクラスはそれを自分のクラスのロガーとして利用できる。

どっちもログインスタンスはキャッシュされるが
上記のような理由がない限り前者だろうな。

351 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 00:15:37 ]
>>349
後者はstaticメソッドから呼び出せないなり


352 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 10:04:10 ]
>>348
だからてめーらほんととわかってないな。ソースみろ!
thisなんかしなくても、結局スタックつかって呼び出し元特定してるの。
いいか、thisはまったく考えなくていいんだよ。ほんと疲れるは。
もうレスしないから、あきらめないでちゃんと考えろ。
あきらめた時点で一般人と同じだよ。結局使う側の人間さ

353 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 12:09:11 ]
>>352
使う側の人間っておまえもだろw
俺様フレームワーク作って喜んでたらもっとバカだけどw
っつかスタックトレースいちいち解析してんの?

354 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:16:14 ]
全ログaspectで後付けだってできるんだし、方法なんて探せばいくらでもでるでしょ
主観だけどlog4jだと助かる。commons-loggingだと更に楽
間違いの起き難い作りだと思うよ。

355 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:37:55 ]
>>354
どうせ、log4j 使うんだろ?
何のために commons かます?
パフォーマンスがわずかに落ちるし、シンプルでなくなるし、
機能的に log4j から他のロガーに変えるなんてありえん。

あー、ちなみに俺はいくつかのシステムで
commons logging + log4j を採用してきた。
今は log4j だけにしとけば良かったと思ってるし、
今後は log4j だけでいく。



356 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:54:56 ]
log4jってファイルの保存先が未定義の場合とかって
コンソールに表示されたっけ?
log4jでConsoleAppender使えばいいかもしれないけど
別にcommon-loggingでもlog4jでもどっちでもいいんじゃない?
>>355の言うとおり最終的にはlog4jになる場合多いし
java.util.loggingってどうなの?

357 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 18:37:26 ]
>355
前に、呼びだしてる奴等のデータ欲しくて
1回こっきりのLogFactory作って片っ端からbetwixt.BeanWriterで吐かせた
便利だと思った。commonsは力技に屈してくれる
あと移動が楽、考えて見るとこれといった理由は無い。
確かに運用ではlog4jしか使わないんだけどね

358 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 18:46:19 ]
SAPの吐くログと一緒に管理したいという要望があって
Commons Logging用のSAPのLoggerを作ったことがある。


359 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 21:25:51 ]
>>357
>>358
なるほど。でも、log4j のアペンダでもいいよな。

っつーか、俺は log4j の MDC の便利さにはまった。
リクエストヘッダやリクエスト、セッションの内容を全部 MDC に
セットしとけば、log4j の出力設定でなんでも出力できる。

運用開始後に客がブラウザの種類とか、リモートIP、ログインIDを
ログに出せとか言われても、設定だけで可能。

360 名前:デフォルトの名無しさん [2005/11/01(火) 00:02:01 ]
>>352
スタックフレームの取得ってかなりコスト高いんだが。
頻繁に呼び出すログ出力処理でそんな事やるのは愚行ではないかと。

361 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 00:34:37 ]
ログって、見てはいるけど、見るだけじゃ勿体無いよな。
何が勿体無いって?
入力と出力、分かっちゃいるけど、忘れちゃう基本的な試験にもでてくる基本中の基本。
入力がてんでばらばらの出力を見てたって、整理つかない、見えるもんも見えない。
意図的に入力を加えて、その出力LOGを見るのがトラブルシュートの基本中の基本。
入力と出力、バカにしちゃうけど、バカにできない、
これで少しはトラシューも、楽リマクリスティー♪

362 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 20:25:29 ]
log4jでgetLogger("aaa.bbb.ccc")ってやって
aaa.bbb.ccc.ddd.eeeのパッケージだけログを出したくないときってどうすればいいのでしょうか。

363 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 20:50:41 ]
NullAppender

364 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 23:55:22 ]
出したくないといいつつ、エラー時くらいは出したいのではと勝手に想像すると
aaa.bbb.ccc.ddd.eeeを新規にカテゴリ定義してレベルをFATALにする。

365 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 00:57:46 ]
Enumratar用のユーティリティーって何かありますか。



366 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 01:07:33 ]
toString系使用していますか?いまいち期待道理に出ないです。
System.out.println(new ToStringBuilder(request.getAttributeNames(), ToStringStyle.MULTI_LINE_STYLE));
をしても何もでないです。

367 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 13:10:21 ]
reflectionToString() だけ使いまくってる。
ユニットテストクラスで、値確認する時とか。

他のは結局手で書いた方が早くなったので
以来使わなくなりました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef