У меня есть приложение, которое работает на безголовом linux-боксе (точнее, SheevaPlug). (Он собирает данные с метеостанции и отправляет их в базу данных, на случай, если вам интересно.) Мне трудно отлаживать проблемы с приложением, потому что я могу использовать только SSH или просматривать его в сети (благодаря Samba).Дизайн для удаленной отладки и проверки состояния
Я мог бы записывать все в файл, но я ограничен ограниченным пространством и хочу, чтобы файл журнала не становился слишком большим (я знаю, что могу использовать logrotate
, но я не смог заставить его работать правильно с файлом журнала). В настоящее время я разрабатываю приложение на C# 3.5 и запускаю его с помощью Mono в качестве сервиса.
Я пытаюсь понять, какая хорошая архитектура будет для этого типа приложений, где одна часть работает как служба, а другая часть связывается с этой службой, чтобы получить информацию о статусе/отладки. Я подумываю об использовании межпроцессного взаимодействия, аспектно-ориентированного программирования или просто использую большинство возможностей конфигурации NLog (я использую NLog для ведения журнала). Или, может быть, я должен превратить приложение в веб-службу и создать клиент для доступа к нему.
Любые советы?