this.messageIndex = this.messageIndex + 1;
msg = new LogMessage(
"Log Service Pausing. Too Many Log messages. This may indicate a problem with your encode.",
- LogMessageType.Vital,
+ LogMessageType.Application,
LogLevel.Error,
this.messageIndex);
this.logMessages.Add(msg);
}
catch (Exception exc)
{
- this.LogMessage("Failed to Initialise Disk Logging. " + Environment.NewLine + exc, LogMessageType.Vital, LogLevel.Error);
+ this.LogMessage("Failed to Initialise Disk Logging. " + Environment.NewLine + exc, LogMessageType.Application, LogLevel.Error);
if (this.fileWriter != null)
{
public void SetupLogHeader(string header)
{
this.logHeader = header;
- this.LogMessage(header, LogMessageType.Vital, LogLevel.Info);
+ this.LogMessage(header, LogMessageType.Application, LogLevel.Info);
}
/// <summary>
ScanOrEncode,\r
API,\r
Progress,\r
- Vital,\r
+ Application,\r
}\r
}\r
/// <summary>
/// The write file.
/// </summary>
- /// <param name="fileName">
- /// The file name.
- /// </param>
/// <param name="content">
/// The content.
/// </param>
- private void WriteFile(string fileName, string content)
+ /// <param name="fileName">
+ /// The file name.
+ /// </param>
+ private void WriteFile(string content, string fileName)
{
try
{
using (StreamWriter fileWriter = new StreamWriter(fileName) { AutoFlush = true })
{
- fileWriter.WriteLineAsync(content);
+ fileWriter.Write(content);
}
}
catch (Exception exc)
/// <param name="message">Log message content</param>
protected void ServiceLogMessage(string message)
{
- this.log.LogMessage(string.Format("# {0}", message), LogMessageType.ScanOrEncode, LogLevel.Info);
+ this.log.LogMessage(string.Format("{0}# {1}{0}", Environment.NewLine, message), LogMessageType.ScanOrEncode, LogLevel.Info);
}
#endregion
}
<RowDefinition Height="Auto" />\r
<RowDefinition Height="*" />\r
</Grid.RowDefinitions>\r
+ \r
<ToolBar Grid.Row="0"\r
ToolBar.OverflowMode="Never" \r
ToolBarTray.IsLocked="True"\r
\r
</ToolBar>\r
\r
- <TextBox Grid.Row="2" ScrollViewer.VerticalScrollBarVisibility="Visible" TextWrapping="Wrap" x:Name="logText" />\r
+ <TextBox Grid.Row="2" ScrollViewer.VerticalScrollBarVisibility="Visible" TextWrapping="Wrap" x:Name="logText">\r
+\r
+ <TextBox.ContextMenu>\r
+ <ContextMenu>\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.LogView_CopyClipboard}" cal:Message.Attach="[Event Click] = [Action CopyLog]" >\r
+ <MenuItem.Icon>\r
+ <Image Width="16" Source="Images/copy.png" />\r
+ </MenuItem.Icon>\r
+ </MenuItem>\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.LogView_OpenLogDir}" cal:Message.Attach="[Event Click] = [Action OpenLogDirectory]">\r
+ <MenuItem.Icon>\r
+ <Image Width="16" Source="Images/folder.png" />\r
+ </MenuItem.Icon>\r
+ </MenuItem>\r
+ <Separator />\r
+ <MenuItem Header="Auto Scroll" IsCheckable="True" IsChecked="True" x:Name="AutoScroll" />\r
+ \r
+ </ContextMenu>\r
+ </TextBox.ContextMenu>\r
+ </TextBox>\r
\r
</Grid>\r
\r
{\r
// This works better than Data Binding because of the scroll.\r
this.logText.AppendText(Environment.NewLine + e.Log.Content);\r
- this.logText.ScrollToEnd();\r
+\r
+ if (this.AutoScroll.IsChecked)\r
+ {\r
+ this.logText.ScrollToEnd();\r
+ }\r
}\r
}\r
\r