Подтвердить что ты не робот

Любая структура ведения журнала для переносимой библиотеки классов?

Существует ли какая-либо система ведения журнала, которая поддерживает переносимую библиотеку классов? Я искал Nuget, но не нашел.

Спасибо,

4b9b3361

Ответ 1

Не уверен, что если таргетинг структуры журналирования напрямую переносится Portable Class Library, но ничто не мешает вам выполнять регистрацию в вашем PCL с использованием Dependency Injection - создать интерфейс для ведения журнала и реализовать его на всех целевых платформах отдельно, используя ваш любимый или даже разные библиотеки. У вас есть больше контроля над конкретными настройками ведения журнала - это совсем другой подход для входа в приложение .NET WPF, приложение WP8 или приложение Windows Store.

Ответ 2

Я отвечу на свой вопрос:

Common.Logging, широко используемая переносимая абстракция регистрации для .NET, стала совместимой с PCL в начале 2014 года (около версии 2.2.0), Я использовал Common.Logging в большинстве моих библиотек (PCL и non-PCL), и он просто отлично работает.

Ответ 3

Поскольку я также не нашел решения, я создал свой собственный здесь... https://portilog.wordpress.com/

Ответ 4

Отъезд Splat.

Библиотека, чтобы сделать вещи кросс-платформенными, которые должны быть

Это небольшая библиотека PCL с некоторыми полезными межплатформенными классами, включая ведение журнала...

https://github.com/paulcbetts/splat/blob/master/Splat/Logging.cs

Вы можете получить его из NuGet.

Ответ 5

Я столкнулся с аналогичной ситуацией, когда мне нужно было выполнить регистрацию в моих портативных библиотеках каким-то образом. Я смотрел ранее на Splat и Common.Logging и решил, что они слишком тяжелы для моих потребностей (оба они действительно очень надежные рамки ведения журнала). Поэтому, если вы заинтересованы в чем-то более легком весе, я написал фреймворк, который поддерживает все портативные профили (до 344 на момент написания этого) и обеспечивает минимальный размер. Рамка работает как переносная библиотека, которая пересылает вызовы в выбранную библиотеку адаптера (в настоящее время на NuGet доступны адаптеры NLog и log4net). Затем ваша точка входа в платформу отвечает за проводку ведения журнала, как обычно, и просто создайте адаптер и передайте эту ссылку в переносную землю (популярным методом будет использование инъекции зависимостей, чтобы предоставить переносным классам доступ к переносной протоколы протоколирования).

Проект не очень активен, но только потому, что мне не нужно было добавлять что-либо со времени его последнего обновления. Я написал еще один айфон для Android, но с тех пор, как я его написал, я не делал никаких кодировок Xamarin. Код чрезвычайно минимален, просто необходимо сделать журнал приятным и легким. Эта структура даже совместима с CF35 (хотя для нее нет официальной сборки), если кто-то действительно нуждается в ней, чтобы работать в такой степени.