클래스를 사용하여 LINQ to SQL에서 원하는 메서드를 통해 전달해야하는 TextWriter로 작동하면됩니다. 여기
db.Log = new ActionTextWriter(s => logger.Debug(s));
내가 위의 코드를 사용할 수 있도록 그에게 위임하고 파견 소요 쓴 작은 텍스트 작가이다. 이 클래스를 변경하여 로거를 가져오고 텍스트를 일부 처리/분할 한 다음 NLog로 전달하는 것이 좋습니다.
class ActionTextWriter : TextWriter {
private Action<string> action;
public ActionTextWriter(Action<string> action) {
this.action = action;
}
public override void Write(char[] buffer, int index, int count) {
Write(new string(buffer, index, count));
}
public override void Write(string value) {
action.Invoke(value);
}
public override Encoding Encoding {
get { return System.Text.Encoding.Default; }
}
}
굉장, 고마워. :) – Jedidja