diff --git a/zorgoz.Nlog4LinqPad/LinqPadExtensions.cs b/zorgoz.Nlog4LinqPad/LinqPadExtensions.cs
deleted file mode 100644
index d75a70f..0000000
--- a/zorgoz.Nlog4LinqPad/LinqPadExtensions.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-using LINQPad;
-using System.IO;
-using System.Text;
-using System.Windows.Forms;
-
-namespace zorgoz.Nlog4LinqPad
-{
- ///
- /// Credits to JoeAlbahari on LinqPad forum
- ///
- internal static class LinqPadExtensions
- {
- public class StringBuilderTextWriter : TextWriter
- {
- private readonly StringBuilder stringBuilder = new StringBuilder();
-
- public override void Write(char value)
- {
- stringBuilder.Append(value);
- }
-
- public override void Write(string value)
- {
- stringBuilder.AppendLine(value);
- }
-
- public override void WriteLine(object value)
- {
- stringBuilder.AppendLine(value.ToString());
- }
-
- public override Encoding Encoding => Encoding.Default;
-
- public override string ToString() => stringBuilder.ToString();
- }
-
- public static T DumpToPanel(this T toDump, string panelName)
- {
- if (string.IsNullOrWhiteSpace(panelName)) return toDump.Dump();
-
- WebBrowser browser;
- TextWriter formatter;
-
- var panel = PanelManager.GetOutputPanel(panelName);
- bool first = panel == null;
- if (first)
- {
- panel = PanelManager.DisplayControl(browser = new WebBrowser(), panelName);
-
- formatter = new StringBuilderTextWriter();
-
- browser.Tag = formatter;
- bool init = true;
- browser.DocumentCompleted += (sender, args) =>
- {
- if (init) browser.DocumentText = formatter.ToString();
- init = false;
- };
- }
- else
- {
- browser = (WebBrowser)(panel.GetControl());
- formatter = (TextWriter)browser.Tag;
- }
-
- if (toDump is string)
- {
- formatter.WriteLine(toDump);
- }
- else
- {
- var method = toDump.GetType().GetMethod("GetContent");
- formatter.WriteLine(method.Invoke(toDump, null));
- }
-
- if (first || browser.ReadyState == WebBrowserReadyState.Complete)
- browser.DocumentText = formatter.ToString();
-
- return toDump;
- }
- }
-}
diff --git a/zorgoz.Nlog4LinqPad/LinqPadHtmlTarget.cs b/zorgoz.Nlog4LinqPad/LinqPadHtmlTarget.cs
index 12e042b..fca23b1 100644
--- a/zorgoz.Nlog4LinqPad/LinqPadHtmlTarget.cs
+++ b/zorgoz.Nlog4LinqPad/LinqPadHtmlTarget.cs
@@ -22,8 +22,6 @@ public LinqPadHtmlTarget()
public TargetStyling Styling { get; set; } = TargetStyling.Default;
- public string Prepend { get; set; }
- public string Append { get; set; }
public string ItemNode { get; set; } = "span";
public string RowNode { get; set; } = "div";
public string PanelName { get; set; }
@@ -46,14 +44,20 @@ public override Layout Layout
protected override void InitializeTarget()
{
- Util.RawHtml(@"").DumpToPanel(PanelName);
- Util.RawHtml(GetHtmlStyleTag()).DumpToPanel(PanelName);
- Util.RawHtml("").DumpToPanel(PanelName);
+ if (string.IsNullOrWhiteSpace(PanelName))
+ {
+ Util.RawHtml(GetHtmlStyleTag()).Dump();
+ }
+ else
+ {
+ GetHtmlStyleTag().InitPanel(PanelName);
+ }
}
protected override void CloseTarget()
{
Util.RawHtml("").DumpToPanel(PanelName);
+ PanelHelper.End();
}
private bool HasRowStyle => !string.IsNullOrWhiteSpace(Styling.Row);
diff --git a/zorgoz.Nlog4LinqPad/packages.config b/zorgoz.Nlog4LinqPad/packages.config
index bd291fb..d07f515 100644
--- a/zorgoz.Nlog4LinqPad/packages.config
+++ b/zorgoz.Nlog4LinqPad/packages.config
@@ -1,4 +1,5 @@
+
\ No newline at end of file
diff --git a/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.csproj b/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.csproj
index 6fde5ac..371232d 100644
--- a/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.csproj
+++ b/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.csproj
@@ -50,20 +50,20 @@
-
+
+ ..\packages\System.Reactive.4.0.0\lib\net46\System.Reactive.dll
+
+
-
-
-
-
-
+
+
-
+
diff --git a/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.nuspec b/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.nuspec
index f417a4b..a472b8b 100644
--- a/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.nuspec
+++ b/zorgoz.Nlog4LinqPad/zorgoz.Nlog4LinqPad.nuspec
@@ -2,7 +2,7 @@
$title$
- 0.5.0
+ 0.6.0
$title$
$author$
$author$
@@ -10,7 +10,7 @@
https://github.com/zorgoz/Nlog4LinqPad
false
NLog logging support for LinqPad
- Separate panel is using custom writer to optimize DOM. XML comments also added.
+ Fixed custom writer to support async usage.
Copyright 2018
nlog nlog-target linqpad logging utility library