首页 > 解决方案 > 如何将输出发送到日志文件和富文本框

问题描述

我有以下代码可用于将输出发送到富文本框。如果我也选择的话,我无法弄清楚如何将输出发送到日志文件。这是我选择记录输出的代码的开始。我不知道如何让它将输出记录到文件位置。

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    If (OpenFileDialog1.ShowDialog() = DialogResult.OK) Then
        TextBox31.Text = Chr(34) & OpenFileDialog1.FileName & Chr(34)
    End If
    End Sub

这是我在富文本框中显示输出的工作代码。

    Private Sub ExecuteButton_Click(sender As Object, e As EventArgs) Handles ExecuteButton.Click
    System.Windows.Forms.Application.DoEvents()
    Dim myprocess As New Process
    Dim startinfo As New ProcessStartInfo(TextBox3.Text, TextBox1.Text) With {
        .UseShellExecute = False,
        .RedirectStandardOutput = True,
        .CreateNoWindow = True
    }
    myprocess.StartInfo = startinfo
    myprocess.Start()
    Dim str1 As String = ""
    Using MyStreamReader As IO.StreamReader = myprocess.StandardOutput
        str1 &= MyStreamReader.ReadToEnd
    End Using
    RichTextBox1.Text = str1
End Sub

注意:这是我以前能够记录输出的内容

     If CheckBox34.Checked = True Then
        Dim objWriter As New System.IO.StreamWriter(TextBox31.Text & "\" & Format(Now, "dd-MMM-yyyy") & ".log", True)
        objWriter.WriteLine(Format(Now, "dd-MMM-yyyy HH:mm:ss ") & TextBox4.Text & vbCrLf & str1)
        objWriter.Close()
    End If

标签: vb.netwinformsoutput

解决方案


试试这个样本:

    Dim MyPath = "C:\MyLog.Log"
    FileOpen(1, MyPath, OpenMode.Append)
    Dim lNumberofRecs = LOF(1)
    Print(1, Format(Now, "dd-MMM-yyyy HH:mm:ss") & "#Import Begin" & vbCrLf)
    FileClose(1)

或者这样:

    Dim objWriter As New System.IO.StreamWriter("C:\MyData\mylog.log", True)
    objWriter.WriteLine("each log data you have")
    objWriter.Close()

推荐阅读