- - PR -
apacheのアクセスログ解析をC#で
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-15 01:06
初心者です。
こんな質問で申し訳ありません。 言語はC#を少しだけ本で勉強しただけです。 初心者の本によくあるカレンダーなどのソフト作った程度なんですが・・・。 アクセスログ解析ソフトを(フリーのソフトとかでなく)作成しようとしています。 初めはVBAで扱おうと思ったのですが1日50,000を越えるデータのため諦めました。 apacheのログを読込み、IPアドレス別の動きや、どのページが何回見られてるかとか いわゆるログ解析ソフトをC#で作ることは可能でしょうか? (もしくは、VB.NET) ログ解析ソフト開発のアドバイスや、参考になるソースがないかどうか ネットで調べましたがanalogや他のフリーソフトの導入方法ばかりで あまり情報がありませんでした。 apacheのログファイルをデスクトップに落とし、読み込みアクセス数などを表示させるタイプのものを作成予定です。 .netで作れますよね??? | ||||||||
|
投稿日時: 2006-05-15 02:38
可能です。
どのくらいの期間のデータを処理したいのか分かりませんが、多量のデータを扱うことになるなら、いわゆるDBについても学んだ方がよいと思います。 | ||||||||
|
投稿日時: 2006-05-16 16:31
渋木宏明(ひどり)様ありがとうございます。
できるとの回答を頂き、取り掛かかることにしました。 1日5万ログほど現在あります(今後増える可能性はありですが) 1日のデータをログファイルで保存し、1日のデータを分析する予定です。 ログを1行ずつStreamReaderで読み込みArrayListに格納してます。 1行を更に区切り文字で区切り配列に格納したいのですが、 よい方法はありますか? データには(.jpg、.gif、.jsなど)のアクセス解析に不要なログもあるので削除する為です。 1行ずつ読むのでなく、すべてデータテーブルで扱うのが正しい手順なのでしょうか? ご教授願います。 | ||||||||
|
投稿日時: 2006-05-16 16:46
analog のソースは参考になりませんでしたか? | ||||||||
|
投稿日時: 2006-05-16 23:03
String.Split() や Regex.Split() を使ってみるとか。
同じデータに対して何度もいろんな方向の処理を行うなら、以前も書きましたが、DBに突っ込んでしまった方がいいでしょうね。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2006-05-17 00:44
VBA だと何故こと足りないと判断したのかも謎ですが、
そもそも、LogParser みたいなものはないものなんですか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-05-17 08:54
同感です。データ量が多いと、VBAだと駄目な理由にはならないですよ) C# の勉強のためというなら納得できる訳ですが、そうでないなら、既存のログ解析 なソフトの検討をした方が良い希ガス・・・ |
1