Знать то, что он перемещает в моем приложении

У меня есть приложение, которое, когда он работает, реализует много заданий, в которых мне интересно знать, были ли выполнены или нет они (кто делает их, - важны, пользователи). Я использую файл и там сохраняю все то, за что оно последует, но предполагаю, что существует что-то более изощренное, чем это не? Если они сохраняют на уровне операционной системы?

Немного моего кода:

string Usuario = "", Accion = "";
StreamWriter MiArchivillo = new StreamWriter("Path");

if(Accion=="Hizo cosa1")
    MiArchivillo.WriteLine(Usuario + "Hizo cosa1");

if (Accion == "Hizo cosa2")
    MiArchivillo.WriteLine(Usuario + "Hizo cosa2");

if (Accion == "Error")
    MiArchivillo.WriteLine(Usuario + "Paso Error");

MiArchivillo.Close();
5
задан 01.02.2016, 21:10
4 ответа

Кларо Пепес. Работать с файлом - хорошая идея, хотя ты также можешь делать это с событиями Windows. Таким образом, именно человек той, кто будет сохранять информацию чувствует себя на компьютере. Я оставляю тебе код:

 class Program
    {
        public const string Source = "MyConsoleApplication";
        public const string LogName = "MyCustomLog";

        static void Main(string[] args)
        {
            int NumberOfTurns = 0;

            if (!EventLog.SourceExists(Source))
                EventLog.CreateEventSource(Source, LogName);

            do
            {
                //When you have an error in your application
                if (NumberOfTurns == 0)
                    EventLog.WriteEntry(Source, GetMesssage("Error"), EventLogEntryType.Error, 111, 20);

                else if(NumberOfTurns ==1)
                    EventLog.WriteEntry(Source, GetMesssage("FailureAudit"), EventLogEntryType.FailureAudit, 222,21);

                //When your application executed something without problems
                else if (NumberOfTurns == 2)
                    EventLog.WriteEntry(Source, GetMesssage("Information"), EventLogEntryType.Information, 333,22);

                else if (NumberOfTurns == 3)
                    EventLog.WriteEntry(Source, GetMesssage("SuccessAudit"), EventLogEntryType.SuccessAudit, 444,23);

                //When your application found something suspect at the moment to ran
                else if (NumberOfTurns == 4)
                    EventLog.WriteEntry(Source, GetMesssage("Warning"), EventLogEntryType.Warning, 555,24);

                NumberOfTurns++;

            } while (NumberOfTurns<5);


        }


        public static string GetMesssage(string MessageType)
        {
            if (MessageType == "Error")
                return "The application fail";

            else if (MessageType == "FailureAudit")
                return "There is something wrong";

            else if (MessageType == "Information")
                return "The operation was executed successfully";

            else if (MessageType == "SuccessAudit")
                return "The application run ok";

            else 
                return "Warning: Behavior suspect";
        }
    }

Уже ты видишь результаты с: Административные программные средства> Браузер Событий> Реестры Windows

6
ответ дан 24.11.2019, 14:56
  • 1
    Я это заканчиваю функционирования, оно я функционирует. Спасибо! – PepeS 01.02.2016, 01:30

То, что ты ищешь, называются книжный магазин или framework для Logging. Эти книжные магазины позволяют:

  • Писать сообщения на различном уровне суровости (INFO, DEBUG, ОШИБКА, ФАТАЛЬНАЯ или ТЯЖЕЛАЯ, между другими), чтобы помогать в оценку сообщения
  • Конфигурировать формат, в котором будут написаны эти сообщения p.e. добавлять дата и час, имя и идентифицированный трэда в вопросе, между другими
  • Конфигурировать вывод, где будут написаны сообщения: консоль, файл, база данных, и т.д.
  • В случае, если вывод будет в файл, конфигурировать стратегию написания файла: достигнув некоего веса (в KB, МБ или больше), когда заканчивать день создавать новый файл, и т.д.

Для.Net существуют несколько книжных магазинов, которые ты можешь использовать, между ними

ты Можешь находить более пространный список здесь . Книжные магазины, упомянутые также находятся в этом списке, но которых я проверил, эти 2, кажется, имеют более активную работу до даты.

6
ответ дан 24.11.2019, 14:56

Дорожка, которую ты берешь, - правильная, не является плохое сохранять в файле log действия приложения.

Как комментируй @Luiggi, вместо того, чтобы ты сами создаешь cГіdigo, что он пишет в файле, существуют книжные магазины, которые они могут конфигурировать, чтобы давать возможность или нет log, когда ты будешь нуждаться, Log4Net самый известный.

>>, Если они сохраняют на уровне операционной системы?

, Если идея состоит в том, чтобы сохранять в операционной системе, ты мог бы использовать Event View, на который ты соглашаешься с Control Panel в Administrative tools. Чтобы писать в log windows ты использовал бы классы .NET предоставляй: EventLog, которые под namespace System.Diagnostics.

Воркинг Вит Эвентвьевер Усинг C # Фор Бехиннерс


Что-то, что не podГ, - чтобы прекращать упоминать, связано, что, если ты осуществляешь книжные магазины, как Log4Net эти в Ваш configuraciГіn позволяют менять судьбу log dinamicamente, не только ты ограничена в текстовых файлах, ты можешь также loguear в EventView windows

Log4Net - writing to windows event log with ASP.NET

Только должен определять в конфигурации EventLogAppender по этой причине дело в том, что эти книжные магазины такие популярные, ты ничего не касаешься cГіdigo и можешь меняться, где ты хочешь зарегистрировать als поступающие данные log.

3
ответ дан 24.11.2019, 14:56
  • 1
    Я верю в то, что это быть и # 237; в идеальное, что они сохраняют и могут быть увиденными внутри Эвент Вьевер. – Jorgesys♦ 31.01.2016, 21:52
  • 2
    @Elenasys это зависит. Может быть, или пользователи, которые хотят согласиться на то, чтобы проверять эту информацию, не были администраторами системы, из-за этого, что logs могут создавать в папке, имеемой с разрешениями для неких пользователей, и с ali будьте проверены в средство, без необходимости соглашаться прямо на сервер. Но как всегда, в этом мире программного обеспечения, все зависит –  31.01.2016, 21:59

Я думаю, что намного лучше позволять log архива, чтобы eventlog Сейчас столкнулся с одной aplicaciГіn, что, хотя он говорит, что он пишет, в eventlog не появляется в определенных обстоятельствах. и никто не знает porquГ©. eventviewer падает, исчезают самые древние записи и это роды искать любую вещь. одинокий eventlog служит для того, чтобы регистрировать очень общие ошибки, но он для чего-то более подробного не делает ему вес в запись архива

1
ответ дан 24.11.2019, 14:56

Теги

Похожие вопросы