Как зарегистрировать сообщения Трассировки с log4net?

Вы можете использовать UIGestureRecognizerDelegate, чтобы заставить UITapGestureRecognizer работать в соответствии с обычным UITextView поведением:

class TestViewController: UIViewController {

    @IBOutlet weak var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tap))
        tapGestureRecognizer.delegate = self

        textView.addGestureRecognizer(tapGestureRecognizer)
    }

    @objc private func tap() {
        print("tap")
    }

}

extension TestViewController: UIGestureRecognizerDelegate {

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }

}
73
задан svick 1 August 2011 в 09:43
поделиться

2 ответа

Согласно предложению Руны я реализовал основной TraceListener, которые производят к log4net:

public class Log4netTraceListener : System.Diagnostics.TraceListener
{
    private readonly log4net.ILog _log;

    public Log4netTraceListener()
    {
        _log = log4net.LogManager.GetLogger("System.Diagnostics.Redirection");
    }

    public Log4netTraceListener(log4net.ILog log)
    {
        _log = log;
    }

    public override void Write(string message)
    {
        if (_log != null)
        {
            _log.Debug(message);
        }
    }

    public override void WriteLine(string message)
    {
        if (_log != null)
        {
            _log.Debug(message);
        }
    }
}
71
ответ дан Shaun Wilson 24 November 2019 в 12:23
поделиться

Я не знаю, поддерживает ли log4net это, но Вы могли бы реализовать свой собственный приемник трассировки, который сделал это.

TraceListener не имеет слишком многих методом, который должен быть реализован и все, что Вы сделали бы, должен передать значения log4net, таким образом, это должно быть легко сделать.

Для добавления пользовательского приемника трассировки Вы или изменили бы свой app.config/web.config, или Вы добавите его в коде с помощью Trace.Listeners.Add(new Log4NetTraceListener());

26
ответ дан Rune Grimstad 24 November 2019 в 12:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: