OneSTools.EventLog
OneSTools.EventLog copied to clipboard
Добавить в экспорт имя базы данных в кластере 1С
Привет! В случае когда надо собирать ошибки по большому количеству баз, требуется хранить имя самой БД в логах, чтобы понять, где именно произошла ошибка.
Предложение: Добавить в таблицу EventLogItem колонку DataBaseName, которая будет означать имя базы данных в кластере 1С.
Я тоже хочу )
Для ClickHouse:
CREATE TABLE eventlog.EventLogItems
(
`FileName` LowCardinality(String),
`EndPosition` Int64 CODEC(DoubleDelta, LZ4),
`LgfEndPosition` Int64 CODEC(DoubleDelta, LZ4),
`Id` Int64 CODEC(DoubleDelta, LZ4),
`DateTime` DateTime('UTC') CODEC(Delta(4), LZ4),
`TransactionStatus` LowCardinality(String),
`TransactionDate` DateTime('UTC') CODEC(Delta(4), LZ4),
`TransactionNumber` Int64 CODEC(DoubleDelta, LZ4),
`UserUuid` LowCardinality(String),
`User` LowCardinality(String),
`Computer` LowCardinality(String),
`Application` LowCardinality(String),
`Connection` Int64 CODEC(DoubleDelta, LZ4),
`Event` LowCardinality(String),
`Severity` LowCardinality(String),
`Comment` String CODEC(ZSTD(1)),
`MetadataUuid` String CODEC(ZSTD(1)),
`Metadata` LowCardinality(String),
`Data` String CODEC(ZSTD(1)),
`DataPresentation` String CODEC(ZSTD(1)),
`Server` LowCardinality(String),
`MainPort` Int32 CODEC(DoubleDelta, LZ4),
`AddPort` Int32 CODEC(DoubleDelta, LZ4),
`Session` Int64 CODEC(DoubleDelta, LZ4)
)
ENGINE = Merge(REGEXP('.*'), 'EventLogItems')
Виртуальная таблица, объединяющая все таблицы с именем EventLogItems из баз данных, имена которых соответствуют шаблону - в данном случае - ".*" (любое имя). Имя базы данных содержится в колонке "_database".
https://github.com/ibragimovrs/OneSTools.EventLog рабочий варриант. За качество кода не отвечаю, если кто-нибудь сделает код ревью буду признателен