2010-06-30 1 views
1

1:NLog - DDL pour Log Table et réglage de la ConnectionString Programmatically

Y at-il une instruction create pour la base de données cible Log Table pour tous les champs possibles documentés quelque part? J'ai créé un en devinant et je pourrais vérifier la source, mais ce serait pratique si le SQL générique était disponible. J'ai cherché StackOverflow et le site NLog, mais le SQL que j'ai trouvé était daté et contenait des types de champs incorrects.

2:

Si vous configurez une cible de base de données à partir d'un fichier nlog.config, comment vous définissez par programmation la chaîne de connexion? Quelque chose comme:

Logger dbLogger = LogManager.GetLogger ("dbLogger"); DatabaseTarget t = dbLogger.GetDatabaseTarget; t.ConnectionString = "...";

dans application_start.

Merci d'avance.

+0

[Même question réponse ici] (http://nlog-forum.1685105.n2.nabble.com/DDL-for-Database-Table-How-to-set-Connection-String-Programmatically- td5241103.html) –

Répondre

0

Est-ce que cet exemple ci-dessous vous est utile? J'ai trouvé ceci sur le site de nlog. Avez-vous essayé cela?

<target xsi:type="Database" name="db"> 
     <!-- SQL command to be executed for each entry --> 
     <commandText>INSERT INTO [LogEntries](TimeStamp, Message, Level, Logger) VALUES(getutcdate(), @msg, @level, @logger)</commandText> 

     <!-- parameters for the command --> 
     <parameter name="@msg" layout="${message}" /> 
     <parameter name="@level" layout="${level}" /> 
     <parameter name="@logger" layout="${logger}" /> 

     <!-- connection string --> 
     <dbProvider>System.Data.SqlClient</dbProvider> 
     <connectionString>server=.\SQLEXPRESS;database=MyLogs;integrated security=sspi</connectionString> 

     <!-- commands to install database --> 
     <install-command> 
     <text>CREATE DATABASE MyLogs</text> 
     <connectionString>server=.\SQLEXPRESS;database=master;integrated security=sspi</connectionString> 
     <ignoreFailures>true</ignoreFailures> 
     </install-command> 

     <install-command> 
     <text> 
      CREATE TABLE LogEntries(
      id int primary key not null identity(1,1), 
      TimeStamp datetime2, 
      Message nvarchar(max), 
      level nvarchar(10), 
      logger nvarchar(128)) 
     </text> 
     </install-command> 

     <!-- commands to uninstall database --> 
     <uninstall-command> 
     <text>DROP DATABASE MyLogs</text> 
     <connectionString>server=.\SQLEXPRESS;database=master;integrated security=sspi</connectionString> 
     <ignoreFailures>true</ignoreFailures> 
     </uninstall-command> 
    </target> 
Questions connexes