CommandLineToolkit

Форк
0
/
RedirectingLoggerHandler.swift 
29 строк · 689.0 Байт
1
/*
2
 * Copyright (c) Avito Tech LLC
3
 */
4

5
import AtomicModels
6
import CLTLoggingModels
7
import Foundation
8

9
public final class RedirectingLoggerHandler: LoggerHandler {
10
    private let target: AtomicValue<LoggerHandler>
11
    
12
    public init(
13
        target: LoggerHandler = NoOpLoggerHandler()
14
    ) {
15
        self.target = AtomicValue(target)
16
    }
17
    
18
    public func setTarget(_ newTarget: LoggerHandler) {
19
        target.set(newTarget)
20
    }
21
    
22
    public func handle(logEntry: LogEntry) {
23
        target.currentValue().handle(logEntry: logEntry)
24
    }
25
    
26
    public func tearDownLogging(timeout: TimeInterval) {
27
        target.currentValue().tearDownLogging(timeout: timeout)
28
    }
29
}
30

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.