blog

XLogログコンポーネントの学習と使用

XLogとは何ですか 依存関係の設定 適切な依存関係を追加し、ここでは1.2.4ではなく1.2.3のバージョンを使用していますが、全体的な違いは大きくありませんが、主にコンフィグの使用は同じではあり...

Aug 9, 2020 · 3 min. read
Share this

XLogとは何ですか

構成の依存関係

ここではバージョン1.2.4の代わりに1.2.3を使用していますが、一般的には大きな違いはありません。

implementation 'com..mars:mars-xlog:1.2.3'

アクセス許可

書き込みパーミッションが必要で、次のように AndroidManifest に追加できます。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

soファイルの読み込み

初期化コードに以下を必ず追加してください。

System.loadLibrary("stlport_shared");
System.loadLibrary("marsxlog");

couldn't find "libstlport_shared.so"ここではヒントですが、エラーが発生した場合、それはxlogの2つのようにパッケージがarm64 - v8aおよびarmeabi - v7aに格納されているため、x86およびその他の互換性の問題のシミュレータの一部である可能性があり、それがエラーとして報告され、エラーにつながる、一般的にgradleのアンドロイドでは、次のコードを追加する下で解決することができますが、実機のデバッグを使用して解決することはできません。

ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
 }

初期化

System.loadLibrary(xxx)初期化は、2つのsoファイルをロードするために必要であり、incomingパラメータのLEVELは、ログが異なるログ情報を出力できるように、それぞれDEBUGまたはALLなどに設定することができます。

 //1.2.3 
 System.loadLibrary("c++_shared")
 System.loadLibrary("marsxlog")
 val SDCARD =
 getExternalFilesDir("XLogF").toString()
 val logPath = SDCARD+"/Xlog"
// this is necessary, or may crash for SIGBUS
 val cachePath = this.getCacheDir().toString() + "/xlog"
 if (BuildConfig.DEBUG) {
 Xlog.appenderOpen(Xlog.LEVEL_DEBUG, Xlog.AppednerModeAsync, cachePath, logPath, "MarsSample", 0, "");
 Xlog.setConsoleLogOpen(true);
 } else {
 Xlog.appenderOpen(Xlog.LEVEL_INFO, Xlog.AppednerModeAsync, cachePath, logPath, "MarsSample", 0, "");
 Xlog.setConsoleLogOpen(false);
 }
 Log.setLogImp(Xlog())

閉じるXLog

XLogの使用はOpenに加えて、もちろん、あなたも閉じる必要があり、これらの2つは、XLogが閉じられたときに、対応するログファイルが生成され、それのどの部分を欠くことはできません。ログの書き込みの最後に次の文を追加します。

com..mars.xlog.Log.appenderClose()

現時点では、対応するパスの下に対応するxlogログファイルを見つけることができますが、現在のログファイルを直接開くことはできません、あなたはそれを生成するためにデコードするために対応するプログラムを使用する必要があります。

ログ生成

decode_mars_nocrypt_log_file.pyこの時点で、xlogをローカルにプルし、火星のソースコードからlog/crypt/の下にあるファイルを取得し、それと同じフォルダにxlogを置き、Pythonバージョン2.7.xで、対応するディレクトリにcmdで移動し、ログファイルを生成するために以下のステートメントを実行します。

Python decode_mars_nocrypt_log_file.py  .xlog

実行するとログファイルが生成され、メモ帳などで開いて見ることができます。ここで注意しなければならないのは、XLogはMarsコンポーネントにのみログを記録し、システムユーティリティにはログを記録しないので、ログにログを書き込む必要がある場合は、どのライブラリのどのコンポーネントにログを記録するかに注意してください!

要約

また、プロジェクトでは、このコンポーネントにアクセスするためにかなり長い時間がかかり、全体的なアクセスは、より深い理解のコンポーネントと操作は、それを踏んだピットを記録する記事を書くだけでなく、このように問題を解決するために、料理はまだ非常に皿であり、応援し続けます!

Read next

No articles found.

No articles found.