2017-02-09 3 views
0

xamarinプロジェクトでエラーログの詳細を取得するには、プロジェクトにserilog.sinks.xamarin nugetパッケージをインストールしてください。アンドロイドでは、serilog.sinks.rollingfileを使ってログの詳細をドキュメントフォルダに保存しようとしました。これは私のコードですandroidでは、serilog.sinks.RollingFileを使用しているときにフォルダを作成したり、特定のファイルにログの詳細を保存することができません。

Log.Logger=new LoggerConfiguration().WriteTo.RollingFile(Path.Combine(Environment.DirectoryDocuments,"AndroidErrorLog.txt")) 
.WriteTo.AndroidLog().CreateLogger(); 

プロジェクトを実行した後、ドキュメントフォルダをチェックすると、ファイルは作成されず、ログの詳細も見つかりません。私が何をしたのか、この問題を解決する方法を教えてください。次のソースからPhillipOGormanから撮影

答えて

0
Log.Logger = new LoggerConfiguration() 
       .WriteTo.File(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "JCA_log-{Date}.txt") 
       , outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] {Message}{NewLine}{Exception}") 
       .WriteTo.AndroidLog() 
       .CreateLogger(); 

私はこの正確な問題がありました。私はそれが、Serilogがファイルを作成するのを止めてしまったようなものだったと思う。

Note#1:提供されるSerilogコードは、Sinks.FileおよびSinks.Xamarin.Droid Serilogライブラリに依存しています。

ノート#2:彼は使用:ファイルが Environment.GetFolderPath(Environment.SpecialFolder.Personal) が正常に動作し、への書き込みだろうがどこ Android.OS.Environment.ExternalStorageDirectory.AbsolutePath を参照するとき(プラスそれはあなたのアプリケーションサンドボックス内でそれをパッケージ化します。)

関連する問題