Skip to content

Commit

Permalink
Added logger for SqlContext.Pipe, for use with "context connection=true"
Browse files Browse the repository at this point in the history
  • Loading branch information
gfody committed Apr 11, 2015
1 parent da582aa commit 325bc0c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
14 changes: 13 additions & 1 deletion src/DbUp/Builder/StandardExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,19 @@ public static UpgradeEngineBuilder LogScriptOutput(this UpgradeEngineBuilder bui
public static UpgradeEngineBuilder LogToTrace(this UpgradeEngineBuilder builder)
{
return LogTo(builder, new TraceUpgradeLog());
}
}

/// <summary>
/// Logs to SqlContext.Pipe, for use with "context connection=true".
/// </summary>
/// <param name="builder">The builder.</param>
/// <returns>
/// The same builder
/// </returns>
public static UpgradeEngineBuilder LogToSqlContext(this UpgradeEngineBuilder builder)
{
return LogTo(builder, new SqlContextUpgradeLog());
}

/// <summary>
/// Uses a custom journal for recording which scripts were executed.
Expand Down
1 change: 1 addition & 0 deletions src/DbUp/DbUp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<Compile Include="Builder\UpgradeEngineBuilder.cs" />
<Compile Include="DeployChanges.cs" />
<Compile Include="Engine\DelegateDisposable.cs" />
<Compile Include="Engine\Output\SqlContextUpgradeLog.cs" />
<Compile Include="Engine\Transactions\DatabaseConnectionManager.cs" />
<Compile Include="Engine\IScript.cs" />
<Compile Include="Engine\Transactions\SingleTrasactionStrategy.cs" />
Expand Down
22 changes: 22 additions & 0 deletions src/DbUp/Engine/Output/SqlContextUpgradeLog.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using Microsoft.SqlServer.Server;

namespace DbUp.Engine.Output
{
internal class SqlContextUpgradeLog : IUpgradeLog
{
public void WriteInformation(string format, params object[] args)
{
SqlContext.Pipe.Send("INFO: " + string.Format(format, args));
}

public void WriteError(string format, params object[] args)
{
SqlContext.Pipe.Send("ERROR: " + string.Format(format, args));
}

public void WriteWarning(string format, params object[] args)
{
SqlContext.Pipe.Send("WARN: " + string.Format(format, args));
}
}
}

0 comments on commit 325bc0c

Please sign in to comment.