2012-01-24 14 views
0

私はリモートエリアでそれを使用する人に与えられるように開発しているアプリケーション/電話を持っていますが、技術に精通していません。私は、リモートでログファイルを読むことができる仕組みを望んでいます。アンドロイドアプリはlogcatロギングを利用しています。私はいくつかのリモートメカニズムによって私のアプリのログを読むことができるようにしたい。私はlogcatを読んで、それを定期的にRESTサービスに投稿して、これらをデータベース化することができると考えていました。ですから、どうすればLogcatファイルをプログラムからプログラムから読み込むことができますか?私のアプリケーションをログに記録して遠隔で見る

+0

を持っている必要があります。フィルタリングをセットアップすることができない限り、不要なログ情報をたくさん送信することになります。自分のアプリのログだけを表示する必要がある場合は、アプリのログを定期的にウェブサーバーに送信するスタンドアロンファイルに出力することを検討します。あなたがデータ接続の悪い遠隔地にいる場合は、より良い情報を伝える必要があります。 –

+0

@Jakobudさて、どうすればいいですか? – JPM

答えて

1

あなたが起動した場合:

Proccess p = Runtime.getRuntime().exec("logcat"); 
InputStream in = p.getInputStream(); 
//code to process the InputStream 

私は正直に戻って、入力ストリームを取得するプロセス全体を知らないが、上記のコードは、あなたのアプリがlogcatファイルを読み取ることができるようになります。 "logcat"のコマンドラインパラメータは、hereに行くことができます。 execメソッドは、文字列をLinuxシェルbtwで実行します。

あなたは `logcat`は通常OSによって、デフォルトですべてをログに記録(べきではありません)下手に書かれたアプリケーションで、その中に記録された情報のトンを持っている権限READ_LOGS

+0

危険な/スレッドセーフではないようだ。 – JPM

+0

@ JPM私はあなたが正しいと信じています。したがって、スレッドとハンドラを使用してください。私は正直なところ、ログファイルを出力する全プロセスを知らないので、私が私の答えに入れたものはまともな出発点になるはずです。 [ACRA](http://code.google.com/p/acra/wiki/AdvancedUsage#User_Interaction)を使用することもできます。また、StackOverflowやGoogleで検索すると、その答えが見つかる可能性があります。 http://stackoverflow.com/questions/8417389/how-can-i-access-logcat-file-on-deviceのように。 [this](http://goo.gl/LqUtk)も役立ちます。 – Jakar