class CliApplication::Log::Config
Attributes
Public Class Methods
Конструктор. Вызывается при создании класса приложения. В Конструктор передается секция конфигурационного файла, описывающего правила логгирования приложения Форматы файла:
Логгирование отключено (не рекомендуется) cli:
log: type: none
Логгирование в файл cli:
log: type: file location: папка для храннения логов
Логгирование в базу данных cli:
log: type: database database: имя конфигурации базы данных table_name: имя таблицы. По умолчанию - st_cli_application_log
-
Описание хранения логов в файлах
Если ключ location не указан, то в качестве базовой папки будет использована папка класса, с добавлением logs. Если папки нет - она будет создана. Имя файла лога - соответствует имени скрипта, с добавкой '/logs/' При запуске осуществляется проверка прав на указанные файлы. Если есть риск незапуска скрипта под другими пользователями - то будет исключение. Файл создается в два этапа. Первый - создается файл при запуске, с указанием даты старта В случае ошибки - она пишется в лог. В случае успешного завершения - запись об этом тоже пишется в лог
-
Описание хранения логов в базе данных
# File lib/cli_application/log/config.rb, line 42 def initialize(config) @possible_keys = [:none, :file, :database] @log_section = config.cli.log @config = config check_section_exist check_section_type end
Private Instance Methods
# File lib/cli_application/log/config.rb, line 62 def check_section_exist if @log_section.nil? raise I18n.t('error.config.log_section_missing', filename: @config.filename) end end
# File lib/cli_application/log/config.rb, line 55 def check_section_type @type = @log_section.type.downcase.to_sym rescue :unknown unless @possible_keys.include?(@type) raise I18n.t('error.config.log_section_type_wrong', filename: @config.filename, type: @type.to_s.inspect) end end