Class: CliApplication::Log::Config
- Inherits:
-
Object
- Object
- CliApplication::Log::Config
- Defined in:
- lib/cli_application/log/config.rb
Instance Attribute Summary collapse
-
#log_section ⇒ Object
readonly
Returns the value of attribute log_section.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(config) ⇒ Config
constructor
Конструктор.
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
-
Описание хранения логов в файлах
Если ключ location не указан, то в качестве базовой папки будет использована папка класса, с добавлением logs. Если папки нет - она будет создана. Имя файла лога - соответствует имени скрипта, с добавкой ‘/logs/’ При запуске осуществляется проверка прав на указанные файлы. Если есть риск незапуска скрипта под другими пользователями - то будет исключение. Файл создается в два этапа. Первый - создается файл при запуске, с указанием даты старта В случае ошибки - она пишется в лог. В случае успешного завершения - запись об этом тоже пишется в лог
-
Описание хранения логов в базе данных
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_section ⇒ Object (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 |
#type ⇒ Object (readonly)
Returns the value of attribute type.
5 6 7 |
# File 'lib/cli_application/log/config.rb', line 5 def type @type end |