Class: CliApplication::Log::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/cli_application/log/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Config

Конструктор. Вызывается при создании класса приложения. В Конструктор передается секция конфигурационного файла, описывающего правила логгирования приложения Форматы файла:

Логгирование отключено (не рекомендуется) cli:

log:
   type: none

Логгирование в файл cli:

log:
   type: file
   location: папка для храннения логов

Логгирование в базу данных cli:

log:
   type: database
   database: имя конфигурации базы данных
   table_name: имя таблицы. По умолчанию - st_cli_application_log
  1. Описание хранения логов в файлах

Если ключ location не указан, то в качестве базовой папки будет использована папка класса, с добавлением logs. Если папки нет - она будет создана. Имя файла лога - соответствует имени скрипта, с добавкой ‘/logs/’ При запуске осуществляется проверка прав на указанные файлы. Если есть риск незапуска скрипта под другими пользователями - то будет исключение. Файл создается в два этапа. Первый - создается файл при запуске, с указанием даты старта В случае ошибки - она пишется в лог. В случае успешного завершения - запись об этом тоже пишется в лог

  1. Описание хранения логов в базе данных



42
43
44
45
46
47
48
49
# 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

Instance Attribute Details

#log_sectionObject (readonly)

Returns the value of attribute log_section.



4
5
6
# File 'lib/cli_application/log/config.rb', line 4

def log_section
  @log_section
end

#typeObject (readonly)

Returns the value of attribute type.



5
6
7
# File 'lib/cli_application/log/config.rb', line 5

def type
  @type
end