- PR -

apacheのアクセスログ解析をC#で

1
投稿者投稿内容
hana
会議室デビュー日: 2006/03/13
投稿数: 5
投稿日時: 2006-05-15 01:06
初心者です。
こんな質問で申し訳ありません。
言語はC#を少しだけ本で勉強しただけです。
初心者の本によくあるカレンダーなどのソフト作った程度なんですが・・・。
アクセスログ解析ソフトを(フリーのソフトとかでなく)作成しようとしています。
初めはVBAで扱おうと思ったのですが1日50,000を越えるデータのため諦めました。
apacheのログを読込み、IPアドレス別の動きや、どのページが何回見られてるかとか
いわゆるログ解析ソフトをC#で作ることは可能でしょうか?
(もしくは、VB.NET)
ログ解析ソフト開発のアドバイスや、参考になるソースがないかどうか
ネットで調べましたがanalogや他のフリーソフトの導入方法ばかりで
あまり情報がありませんでした。

apacheのログファイルをデスクトップに落とし、読み込みアクセス数などを表示させるタイプのものを作成予定です。
.netで作れますよね???
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-05-15 02:38
引用:

いわゆるログ解析ソフトをC#で作ることは可能でしょうか?



可能です。

引用:

apacheのログファイルをデスクトップに落とし、読み込みアクセス数などを表示させるタイプのものを作成予定です。



どのくらいの期間のデータを処理したいのか分かりませんが、多量のデータを扱うことになるなら、いわゆるDBについても学んだ方がよいと思います。
hana
会議室デビュー日: 2006/03/13
投稿数: 5
投稿日時: 2006-05-16 16:31
渋木宏明(ひどり)様ありがとうございます。
できるとの回答を頂き、取り掛かかることにしました。

1日5万ログほど現在あります(今後増える可能性はありですが)
1日のデータをログファイルで保存し、1日のデータを分析する予定です。
ログを1行ずつStreamReaderで読み込みArrayListに格納してます。

1行を更に区切り文字で区切り配列に格納したいのですが、
よい方法はありますか?

データには(.jpg、.gif、.jsなど)のアクセス解析に不要なログもあるので削除する為です。
1行ずつ読むのでなく、すべてデータテーブルで扱うのが正しい手順なのでしょうか?
ご教授願います。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-05-16 16:46
引用:

hanaさんの書き込み (2006-05-15 01:06) より:

ログ解析ソフト開発のアドバイスや、参考になるソースがないかどうか
ネットで調べましたがanalogや他のフリーソフトの導入方法ばかりで
あまり情報がありませんでした。


analog のソースは参考になりませんでしたか?
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-05-16 23:03
引用:

1行を更に区切り文字で区切り配列に格納したいのですが、
よい方法はありますか?



String.Split() や Regex.Split() を使ってみるとか。

引用:

1行ずつ読むのでなく、すべてデータテーブルで扱うのが正しい手順なのでしょうか?



同じデータに対して何度もいろんな方向の処理を行うなら、以前も書きましたが、DBに突っ込んでしまった方がいいでしょうね。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-17 00:44
VBA だと何故こと足りないと判断したのかも謎ですが、
そもそも、LogParser みたいなものはないものなんですか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-17 08:54
引用:

じゃんぬねっとさんの書き込み (2006-05-17 00:44) より:

VBA だと何故こと足りないと判断したのかも謎ですが、
そもそも、LogParser みたいなものはないものなんですか。



同感です。データ量が多いと、VBAだと駄目な理由にはならないですよ
C# の勉強のためというなら納得できる訳ですが、そうでないなら、既存のログ解析
なソフトの検討をした方が良い希ガス・・・

1

スキルアップ/キャリアアップ(JOB@IT)