powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Логирование из УАРТ в файл.
25 сообщений из 36, страница 1 из 2
Логирование из УАРТ в файл.
    #38845193
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня микроконтроллер посылает сообщения на комп и я логирую в файл.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            if (logging)
            {
                if (richTextBoxLog.InvokeRequired)
                {
                    richTextBoxLog.Invoke(new SerialDataReceivedEventHandler(DataReceivedHandler), sender, e);
                }
                else
                {
                    SerialPort sp = (SerialPort)sender;
                    string indata = sp.ReadExisting();
                    richTextBoxLog.AppendText(indata);
                    if (File.Exists(file_path))
                    {
                        using (StreamWriter sw = File.AppendText(file_path))
                        {
                            sw.WriteLine(indata);
                        }
                    }
                }
            }
        }


Данное решение мне не нравиться. Я хочу накапливать какой нибудь размер скажем 1 кило и затем посылать в файл. Вопрос как узнать размер текста в richTextBoxLog? richTextBoxLog.TextLength это оно?
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845206
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
richtextbox и файл - это всего лишь подписчики для получения сообщений

nlog возьми, в richtextbox он сам писать умеет
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845217
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем брать сторонние решения? Простенькая задача. Простые требования. Единственно что надо добавить это заливку в файл по определенному размеру текста.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845220
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Единственно что надо добавить это заливку в файл по определенному размеру текста.
это есть жерез жопу
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845234
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно что тут такого черезжопного - запись данных в файл? конечно так как сейчас не есть хорошо - дергать хард все время, поэтому я хочу буферизировать - залить, буферизировать - залить и.т.д.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845269
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7что тут такого черезжопного - запись данных в файл?
черезжопно забирать данные из визуального контрола

если источник, есть подписчики.
У подписчиков свои дисциплины буферизации и форматтеры
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845284
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хорошо допустим не в визуальный контрол. в стринговую переменную можно?
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845288
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и кстати почему не в визуальный контрол, это очень удобно видеть текущее состояние системы, что там происходит.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845295
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7поэтому я хочу буферизировать
nlog/ log4net поддерживают буфферизированную запись
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845297
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7хорошо допустим не в визуальный контрол. в стринговую переменную можно?

зачем эти зависимости?
подписчики работают независимо.
писатель ничего не знает о подписчиках.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845298
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7и кстати почему не в визуальный контрол, это очень удобно видеть текущее состояние системы, что там происходит.
так контрол и является одним из подписчиков!
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845304
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилjenya7и кстати почему не в визуальный контрол, это очень удобно видеть текущее состояние системы, что там происходит.
так контрол и является одним из подписчиков!
прекрасно. но кроме контрола я хочу сливать данные в файл на случай если захочется посмотреть что ж там было час назад когда я курил.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845310
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7прекрасно. но кроме контрола я хочу сливать данные в файл на случай если захочется посмотреть что ж там было час назад когда я курил.
так сливай непосредственно от источника , а не из контрола.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845319
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
событие(данные)
{
RTB <- данные;
Файл <-данные;
}

Вот и весь алгоритм ничего в таких системах мудрить не нужно.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845324
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIсобытие(данные)
{
RTB <- данные;
Файл <-данные;
}

Вот и весь алгоритм ничего в таких системах мудрить не нужно.
кривой велосипед
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845326
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилEDUARD SAPOTSKIсобытие(данные)
{
RTB <- данные;
Файл <-данные;
}

Вот и весь алгоритм ничего в таких системах мудрить не нужно.
кривой велосипед
Убийственный аргумент.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845329
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EDUARD SAPOTSKIсобытие(данные)
{
RTB <- данные;
Файл <-данные;
}

Вот и весь алгоритм ничего в таких системах мудрить не нужно.

ребята вы топик читаете? код смотрите? я ничего и не мудрю единственно что я хочу это сделать "Файл <-данные;" кода "данные" больше 1 КБ чтоб не дегать хард диск часто.
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845336
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7EDUARD SAPOTSKIсобытие(данные)
{
RTB <- данные;
Файл <-данные;
}

Вот и весь алгоритм ничего в таких системах мудрить не нужно.

ребята вы топик читаете? код смотрите? я ничего и не мудрю единственно что я хочу это сделать "Файл <-данные;" кода "данные" больше 1 КБ чтоб не дегать хард диск часто.
я думаю что то вроде этого
Код: c#
1.
2.
3.
4.
5.
if (indata.Length > max_data_lenght)
    using (StreamWriter sw = File.AppendText(file_path))
                        {
                            sw.WriteLine(indata);
                        }
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845343
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7я хочу это сделать "Файл <-данные;" кода "данные" больше 1 КБ чтоб не дегать хард диск часто.
Вообще то у filestream есть свой буфер, в 4 кбайта.

А так есть класс BufferedStream , где можно указать произвольный рахмер буфера
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845349
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79jenya7я хочу это сделать "Файл <-данные;" кода "данные" больше 1 КБ чтоб не дегать хард диск часто.
Вообще то у filestream есть свой буфер, в 4 кбайта.

А так есть класс BufferedStream , где можно указать произвольный рахмер буфера
а можно кусок кода как сливать в файл по достижении определенного размера?
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845353
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Arm79пропущено...

Вообще то у filestream есть свой буфер, в 4 кбайта.

А так есть класс BufferedStream , где можно указать произвольный рахмер буфера
а можно кусок кода как сливать в файл по достижении определенного размера?

Конечно можно. Он по ссылке приведен. Там же все банально - в конструктор передаешь FileStream и размер буфера, а дальше работаешь с BufferedStream как с обычным Stream
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845354
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

а стандартные логгеры стоит освоить, у них область применения куда шире этой задачки
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845355
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7Arm79пропущено...

Вообще то у filestream есть свой буфер, в 4 кбайта.

А так есть класс BufferedStream , где можно указать произвольный рахмер буфера
а можно кусок кода как сливать в файл по достижении определенного размера?
уточню, как это делать правильно?
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845357
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79jenya7пропущено...

а можно кусок кода как сливать в файл по достижении определенного размера?

Конечно можно. Он по ссылке приведен. Там же все банально - в конструктор передаешь FileStream и размер буфера, а дальше работаешь с BufferedStream как с обычным Stream
спасибо , думаю то что нужно
...
Рейтинг: 0 / 0
Логирование из УАРТ в файл.
    #38845360
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7спасибо , думаю то что нужно
То, что нужно - nlog/log4net/el. Остальное - баловство.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Логирование из УАРТ в файл.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]