首页 > 编程语言 >C# 调用 exe 输出日志

C# 调用 exe 输出日志

时间:2024-09-09 10:53:14浏览次数:10  
标签:exe C# true process using startInfo 日志 Data

C# 调用 exe 输出日志 ProcessStartInfo

using System;
using System.Diagnostics;
using NLog;

class Program
{
    static void Main()
    {
        ProcessStartInfo startInfo = new ProcessStartInfo("your_exe_path.exe");
        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardOutput = true;
        startInfo.RedirectStandardError = true;
        startInfo.CreateNoWindow = true;
 
        using (Process process = Process.Start(startInfo))
        {
            process.OutputDataReceived += (sender, e) =>
            {
                if (!string.IsNullOrWhiteSpace(e.Data))
                {
                    logger.Debug($"输出: {e.Data}");
                }
            };
 
            process.ErrorDataReceived += (sender, e) =>
            {
                if (!string.IsNullOrWhiteSpace(e.Data))
                {
                    logger.Error($"错误: {e.Data}");
                }
            };
 
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
 
            process.WaitForExit(); // 如果需要等待程序执行完成可以使用这个方法
        }
    }
}

作者:VipSoft

标签:exe,C#,true,process,using,startInfo,日志,Data
From: https://blog.51cto.com/u_15116285/11959418

相关文章

  • Spring Cloud概要
    什么是SpringCloudSpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。官方译文:构建分布式系统不用特别的......
  • SpringBoot自动装配中的Condition机制
    SpringBoot自动装配中的Condition机制在SpringBoot中,自动装配(Auto-Configuration)是一个核心特性,它极大地简化了Spring应用的配置过程。自动装配通过条件判断(Condition)机制,根据应用的环境和依赖来决定是否创建和配置Bean。这一机制在Spring4.0中引入,主要通过@Conditional......
  • C# Delegate 委托:是一种类型安全的委托类型,用于引用方法
    在C#中,delegate是一种类型安全的委托类型,它用于引用方法。可以将方法作为参数传递给其他方法,或者动态选择在运行时调用哪个方法。delegate可以看作是对方法的引用类型,它提供了一种将方法视作对象来处理的机制。1.基本概念:什么是委托(delegate)?委托类似于函数指针的概念,但......
  • C++里面的iostream是什么东西?
    小弟不才,看了百度的介绍更乱了。。我刚接触c++,我感觉很有意思,今天看c++primer里面介绍过iostream。但是怎么看都不懂。代码里面也出现了#include<iostream>。我想请教一下,iostream是个库,可不可以理解成是一个仓库,里面装的都是C的代码?另外,IO是不是iostream的缩写? C++编译系统提......
  • 【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(Q16题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com/index.php?s=/home/article/detail/id/3397.html第......
  • C++学习笔记(曾经我看不懂的代码2:基于范围的for循环、auto使用、stl容器、template模
    不知不觉c++程序设计:标准库已经看了一大半了,学到了很多,很多曾经在网上和在书上看到却看不懂的代码,在看完标准库中的大半内容以后,都能大致的理清代码的含义。代码模板一:for(auto&a:arr)1、基于范围的for循环:a为迭代变量,arr为迭代范围,&表示引用。写一个例子:#include<ios......
  • Canvas绘制图片合成样式
    效果图web*{margin:0;padding:0;}.container{position:relative;width:328px;height:328px;margin:100pxauto;}.containerimg{position:absolute;width:328px;height:328px;}#canvas{posi......
  • 免费OCR 文字识别工具
    免费:本项目所有代码开源,完全免费。方便:解压即用,离线运行,无需网络。高效:自带高效率的离线OCR引擎,内置多种语言识别库。灵活:支持命令行、HTTP接口等外部调用方式。功能:截图OCR/批量OCR/PDF识别/二维码/公式识别下载地址:https://pan.quark.cn/s/f263ecc221b7......
  • ACPI随笔
    ACPI(AdvancedConfigurationandPowerInterface)基本概念RSDP:是ACPI数据结构中的第一个表,用于引导ACPI表的查找过程。根系统描述指针,指向RSDT或XSDT的位置。RSDT和XSDT:根表和扩展表,提供其他ACPI表的位置。FADT:固定配置表,包含ACPI固件的配置信息。AC......
  • C++ iostream、iomanip 头文件详解
    C++iostream、iomanip头文件详解首先,我们来看看iostream。相信大家都知道iostream,这个库可以说是最常用的几个库之一了。iostream库提供了输入输出流。比如cin、cout,都是在iostream里的。所以,我们经常会用到iostream这个库。iostream这个名字很好理解,InputOutputStream,输......