We are using a marketplace module that has a config file like this:
<appender name="DBLogAppender" type="Feature.DBLogAppender.SitecoreDatabaseLogAppender, Feature.DBLogAppender">
....
<param name="ConnectionString" value="<connectionstring>"/> //core db conn string
....
</appender>
All the non local environments are containers and the database names vary for each of them.
I would like to dynamically refer the connection string of the core database here - <connectionstring>
Is it possible.
Patch config XML:
<appender patch:after="*[@name=LogFileAppender]" name="SCBasicsAuditTrailDBAppender" type="SCBasics.AuditTrail.Appender.SitecoreDatabaseLogAppender,
SCBasics.AuditTrail" >
<!-- Filter items where message field start with 'AUDIT....' -->
<filter type="log4net.Filter.StringMatchFilter">
<regexToMatch value="^AUDIT" />
</filter>
<!-- Deny all other items -->
<filter type="log4net.Filter.DenyAllFilter" />
<!--his is because logs are buffered until a given buffersize is reached.
The default value is 512, but you can lower this by modifying the following line of code-->
<bufferSize value="1" />
<param name="ConnectionType" value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<!--Double SLASH is Very Important-->
<param name="ConnectionString" value="Data Source=ABC100\\SQLEXPRESS;Database=SCDemo_Core;user id=sa;password=abc@123"/>
<param name="CommandText" value="INSERT INTO tbl_AuditTrail_Logs ([Date],[Thread],[Level],[Logger],[Message],[Exception],
[SCUser], [SCAction], [SCItemPath], [SCLanguage] , [SCVersion] , [SCItemId], [SiteName],[SCMisc]) VALUES (@log_date,
@thread, @log_level, @logger, @message, @exception, @scuser, @scaction, @scitempath, @sclanguage, @scversion,
@scitemid, @sitename, @scmisc)" />
<param name="Parameter">
<param name="ParameterName" value="@log_date" />
<param name="DbType" value="DateTime" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy'-'MM'-'dd
HH':'mm':'ss'.'fff}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@thread" />
<param name="DbType" value="String" />
<param name="Size" value="255" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%t" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@log_level" />
<param name="DbType" value="String" />
<param name="Size" value="50" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%p" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@logger" />
<param name="DbType" value="String" />
<param name="Size" value="255" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%c" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@message" />
<param name="DbType" value="String" />
<param name="Size" value="4000" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</param>
<param name="Parameter">
<param name="ParameterName" value="@scuser" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scuser" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@scaction" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scaction" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@scitempath" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scitempath" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@sclanguage" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="sclanguage" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@scversion" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scversion" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@scitemid" />
<dbType value="String" />
<size value="38" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scitemid" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@sitename" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="sitename" />
</layout>
</param>
<param name="Parameter">
<param name="ParameterName" value="@scmisc" />
<dbType value="String" />
<size value="255" />
<layout type="SCBasics.AuditTrail.Log4NetLayout.PropertyLayout,SCBasics.AuditTrail">
<param name="PropertyName" value="scmisc" />
</layout>
</param>
</appender>
<sitecore>
scope.