Логи в UTF-8 или ANSI

 
Есть проблема. Логи MetaTrader сохраняются в UTF-16 что делает невозможным работу с ними через WSL или из под Linux. Есть ли возможность изменить кодировку на UTF-8 или ANSI? Парсинг логов в linux значительно удобнее чем под WIn.
 
DrSky:
Есть проблема. Логи MetaTrader сохраняются в UTF-16 что делает невозможным работу с ними через WSL или из под Linux. Есть ли возможность изменить кодировку на UTF-8 или ANSI? Парсинг логов в linux значительно удобнее чем под WIn.

Поддерживаю UTF-8.

Хотя iconv никто не отменял.

 
DrSky:
Есть проблема. Логи MetaTrader сохраняются в UTF-16 что делает невозможным работу с ними через WSL или из под Linux. Есть ли возможность изменить кодировку на UTF-8 или ANSI? Парсинг логов в linux значительно удобнее чем под WIn.

в Linux нет проблем "на лету" преобразовать из 16LE в utf-8. Полстрочки в скриптах

а вот в Windows есть затыки с чтением/открытием не utf-16 или ANSI/OEM. А журналы в первую очередь для чтения прямо на месте. 

так что не стоит такого делать. 

 

Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq

Все скрипты и эксперты на всех открытых графиках "пишут лог" в один файл. При этом, часть лога остается в дисковом кеше. Иначе говоря, если открыть файл лога из проводника, то вы не увидите в нем последнюю информацию, поскольку она находится в кеше. Чтобы заставить терминал сбросить(сохранить) кеш в файл, нужно либо закрыть терминал (завершить работу), либо через контекстное меню вкладки Эксперт, выбрать пункт Открыть. Откроется каталог с файлами логов.

Анализировать такие логи, особенно в терминале, не очень легко, но необходимо. В первой части советов, я показал один из способов облегчения поиска, выборки и просмотра информации в логах терминала. В данной статье я покажу как:

  • унифицировать вывод логов (класс Logger)
  • подключить логи к системе сбора и анализа логов Seq
  • просматривать сообщения(события) в режиме онлайн (в Seq)
  • импортировать обычные логи МТ5 в Seq (пакет на Python)
 
Malik Arykov #:

Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq

Все скрипты и эксперты на всех открытых графиках "пишут лог" в один файл. При этом, часть лога остается в дисковом кеше. Иначе говоря, если открыть файл лога из проводника, то вы не увидите в нем последнюю информацию, поскольку она находится в кеше. Чтобы заставить терминал сбросить(сохранить) кеш в файл, нужно либо закрыть терминал (завершить работу), либо через контекстное меню вкладки Эксперт, выбрать пункт Открыть. Откроется каталог с файлами логов.

Анализировать такие логи, особенно в терминале, не очень легко, но необходимо. В первой части советов, я показал один из способов облегчения поиска, выборки и просмотра информации в логах терминала. В данной статье я покажу как:

  • унифицировать вывод логов (класс Logger)
  • подключить логи к системе сбора и анализа логов Seq
  • просматривать сообщения(события) в режиме онлайн (в Seq)
  • импортировать обычные логи МТ5 в Seq (пакет на Python)
"404. Такой страницы не существует"
 
JRandomTrader #:
"404. Такой страницы не существует"

У меня все открывается ;-) Попробуйте найти в списке статей

 
Malik Arykov #:

У меня все открывается ;-) Попробуйте найти в списке статей

Открывается, но по https://www.mql5.com/ru/articles/10475, а не по https://www.mql5.com/ru/articles/10475/109054#!tab=article
 
Maxim Kuznetsov #:

в Linux нет проблем "на лету" преобразовать из 16LE в utf-8. Полстрочки в скриптах

а вот в Windows есть затыки с чтением/открытием не utf-16 или ANSI/OEM. А журналы в первую очередь для чтения прямо на месте. 

так что не стоит такого делать. 

С одной стороны нет, с другой если выполнить
iconv -f UTF-16 -t UTF-8 ./<mt5-log-file> | less 

и нажать end - то iconv начнет читать весь файл и класть его в оперативу. Приемущество less как раз таки и заключается в том, что он не хранит весь файл в памяти и может мнгновенно переходить в конец файла в несколько гигабайт (если отключить подсчет строк то и читать его целиком не будет). С одной стороны на SSD даже большой файл прочитать несколько секунд делов, с другой получается все равно криво.

Причина обращения: