मान लिया जाये कि आप एक विस्तार विधि Encrypt
है कि आप एक String
वस्तु पर कॉल कर सकते हैं कहा जाता है,
मैं दो समाधान देखें:
- या तो जब अपने कोड में प्रवेश करने से आप अपने एन्क्रिप्ट फ़ंक्शन को कॉल करें :
logger.Trace("Sample trace message".Encrypt());
- या आप घटनाओं लॉग इन करें और उन्हें बुनियादी
NLog.Log()
तरीकों के बजाय फोन करने के लिए नए तरीकों को बना सकते हैं:
class Log {
public static void TraceEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Trace, message);
}
public static void DebugEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Debug, message);
}
public static void InfoEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Info, message);
}
public static void WarnEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Warn, message);
}
public static void ErrorEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Error, message);
}
public static void FatalEncrypt(Logger logger, String message) {
LogEncrypt(logger, LogLevel.Fatal, message);
}
public static void LogEncrypt(Logger logger, LogLevel logLevel, String message) {
// Prepare log event
LogEventInfo logEvent = new LogEventInfo(logLevel, logger.Name, message.Encrypt());
// Log data
logger.Log(logEvent);
}
}
धन्यवाद है, मुझे लगता है कि यह है। –
धन्यवाद। आपको अपने मुख्य में जोड़ना होगा: 'ConfigurationItemFactory.Default.LayoutRenderers । पंजीयन परिभाषा ("एन्क्रिप्ट करें", टाइपोफ (NLog.LayoutRenderers.Wrappers.EncryptLayoutRendererWrapper)); ' – daniel