Логирование – ведения логов действий программы на VBA с возможностью просмотра созданного лога в текстовом файле или блокноте
Использование Логирования:
Для использования инструмента “Логирования” нужно на панели инструментов VBE нажать кнопку – “Вставить класс LogRecorder” И для удобства использования импортировать функции: WriteLog, WriteErrorLog и ShowLog. Используя инструмент – “Code-Library”
Пример использования инструмента - Логирования
Public Sub Example_log()
Dim i As Integer
On Error GoTo ErrorHandler
For i = 0 To 10
Call WriteLog(Example_log, i) '-> вызов процедуры-Логирование выполнения программы
Next i
Exit Sub
ErrorHandler:
Call WriteErrorLog(Example_log) '-> вызов процедуры - Логирование ошибок выполнения программы
Call ShowLog '-> вызов процедуры - Вывод лога
End Sub
Процедура WriteLog
В процедурах WriteLog и WriteErrorLog можно переопределить название LOG-файла ошибок, раз комментировав строку – ‘LR.LogFileName = “NewNameFileLog”, вместо NewNameFileLog – задается пользовательское название файла. По умолчанию используется имя файла – “common”
Pаз комментировав строку – “‘LR.ClearLog”, производится удаление всех данных в LOG-файле перед записью новых данных
Public Sub WriteLog(ByVal EventX As String, Optional ByVal Info As String, _
Optional ByVal Level As Integer = 0, _
Optional ByVal LogSeparatorType As LOG_SEPARATOR_TYPE = LOG_SEPARATOR_NONE, _
Optional ByVal ForceSavingLog As Boolean = False)
'WriteLog - Запись произвольного лога
'EventX - Описание события
'Info - информация для сохранения
'Level - количество отступов справа
'LogSeparatorType - тип выделения инофрмации
'ForceSavingLog - сохранять или нет лог в файл
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
Call LR.AddRecord(EventX, Info, Level, LogSeparatorType, ForceSavingLog)End Sub
Процедура WriteErrorLog
Public Sub WriteErrorLog(ByVal sNameFunc As String)
'WriteErrorLog - записывает Log в файл
'sNameFunc - название отслеживаемой функции/процедуры, тип строковый
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
'Удаление всех запмсей в Log файле
'LR.ClearLog
LR.WriteErrorLog (sNameFunc)
End Sub
Процедура ShowLog
Изменяя параметр в строке LR.Show (True), можно изменять вид вывода информации в LOG-файле. True – в окне Immediate редактора кода VBE, False – открывается txt-файл с данными.
Public Sub ShowLog()
'ShowLog - показывает Log файл
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
'False - покать в блокноте, True - в окне Immediate
LR.Show (True)
End SubEnd Sub