log4net - Change subject of SmtpAppender programmatically -
i have smtpappender this:
<appender name="smtpappender" type="log4net.appender.smtpappender"> <to value="myemail@example.org" /> <from value="senderemail@example.org" /> <subject type="log4net.util.patternstring" value="this subject" /> <smtphost value="smtp.host.value" /> <authentication value="basic" /> <port value="587" /> <username value="username" /> <password value="password" /> <buffersize value="1" /> <enablessl value="true"/> <lossy value="false" /> <threshold value="error" /> <layout type="log4net.layout.patternlayout"> <conversionpattern value="%date [%3thread] %-5level [%class].[%method] - %message%newline" /> </layout> </appender> i change subject of log mail in code string specify suits needs better standard subject.
right achieve this. first, find smtpappender name:
public static iappender findappenderbyname(string name) { iloggerrepository rootrep = logmanager.getrepository(); foreach (iappender iapp in rootrep.getappenders()) { if (string.compare(name, iapp.name, true) == 0) { return iapp; } } return null; } and can change subject this:
iappender appender = findappenderbyname("smtpappender"); smtpappender smtpappender = (smtpappender)appender; smtpappender.subject = "an error occured trying convert values"; log.error("error message"); but seems bit complicated since every time send error mail first have find appender name , don't want use global iappender object seems bad practice me.
is there way use user specified error message subject or there extension method use?
Comments
Post a Comment