Я просто хочу войти в консоль и в файл журнала, используя стандартный TraceSource, в моем приложении Xamarin, которое будет работать в UWP, Mac OS X, iOS и Android. Разрабатываю / отлаживаю на UWP.
TraceSource, TraceListener и TextWriterTraceListener действительно доступны в стандартной библиотеке .Net, так что, возможно, я неправильно ее настраиваю? Большинство мест в Интернете настаивают на настройке прослушивателей трассировки в файле app.config, но это неприменимо и невозможно для приложений Xamarin. Итак, вот мой код инициализации ведения журнала, в основном основанный на примере в документации Microsoft:
private void SetupLogging()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out, "consoleTraceListener"));
string logFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Application.log");
if (!File.Exists(logFilePath)) File.Create(logFilePath);
var logFileTraceListener = new TextWriterTraceListener(logFilePath, "logFileTraceListener");
Trace.Listeners.Add(logFileTraceListener);
Trace.Write("Test");
Trace.TraceInformation("Logging Initialized. Log file location: " + logFilePath);
Trace.Flush();
}
Когда я запускаю это в приложении Xamarin UWP, создается файл, но в него ничего не записывается, и я не могу найти ничего в выходных данных программы (нет ConsoleTraceListener
, поэтому я пытаюсь записать TextWriterTraceListener
в Console.Out
). Может ли кто-нибудь предоставить рабочий пример для Xamarin? (Я еще не пробовал приложения для Android или iOS; хочу сначала запустить UWP на локальном компьютере.)