C# 记录器和服务的2个项目中的C代码,错误

C# 记录器和服务的2个项目中的C代码,错误,c#,C#,我正在尝试让EasyLogger C项目正常工作,但我无法调试此代码,因为它是一个类库。我在Windows控制台应用程序中使用此记录器,该应用程序与squirrel一起作为Windows服务安装,因此我看不到变量中的内容 我错了什么 这在Windows控制台应用程序中: public void Start() { //Define EasyLogger EasyLogger.Logger.Loggerpath = @

我正在尝试让EasyLogger C项目正常工作,但我无法调试此代码,因为它是一个类库。我在Windows控制台应用程序中使用此记录器,该应用程序与squirrel一起作为Windows服务安装,因此我看不到变量中的内容

我错了什么

这在Windows控制台应用程序中:

        public void Start()
        {
            //Define EasyLogger
            EasyLogger.Logger.Loggerpath = @"C:\Development\ServerSF";
            EasyLogger.Logger.Logname = "Testlog";

            Thread.Sleep(1000);


            //Start EasyLogger
            bool test = EasyLogger.Logger.Log;
            EasyLogger.Logger.StartLog();

            if (test == true)
            {
                //Start service
                _timer.Start();
                ExThred(configManager.ServerName);
            }
            else
            {
                //ERROR log isnt started
            }
        }
这是我的EasyLogger项目:

using System;
using System.IO;
using System.Text;

namespace EasyLogger
{
    public static class Logger
    {
        #region GET SET      
        private static string loggerpath;
        private static string logname;
        private static string message;
        private static bool log;
        public static string Loggerpath
        {
            get => loggerpath;
            set => loggerpath = value;
        }
        public static string Logname
        {
            get => logname;
            set => logname = value;
        }
        public static string Message
        {
            get => message;
            set => message = value;
        }
        public static bool Log
        {
            get => log;
            set => log = value;
        }
        #endregion

        #region Logger
        private static readonly string loggingpath = loggerpath + @"\logs\"+ logname + "-" + DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss") + ".txt";

        public static void StartLog()
        {
            if(loggerpath == null)
            {
                Message = "Program path is empty!";
                log = false;
            }
            else
            {
                try
                {
                    using (FileStream fs = File.Create(loggingpath))
                    {
                        byte[] info = new UTF8Encoding(true).GetBytes(DateTime.Now.ToString() + " - Logger v0.1 Started...");
                        fs.Write(info, 0, info.Length);
                    }
                    log = true;
                }
                catch
                {
                    Message = "Can't create logfile!";
                    log = false;
                }  
            }
        }

        public static void WriteLog(string msg)
        {
            if (Logname != null)
            {
                if (log == true)
                {
                    string[] lines = new string[] { DateTime.Now.ToString() + " - " + msg };
                    File.AppendAllLines(loggingpath, lines);
                }
                else
                {
                    try { Message = "Logger isn't started yet!"; }
                    catch { Message = "Logger Error!"; }
                }
            }
            else { Message = "Please define first a Logname!"; }
        }

        public static void StopLog()
        {
            log = false;
        }
        #endregion
    }
}

你的问题不在于记录器。您的问题是如何调试Windows服务

使用Visual Studio,您可以这样做:

使用调试信息编译Windows服务。 安装服务并运行它。 启动VisualStudio。 选择调试->附加进程 单击“显示来自所有用户的流程” 搜索您的服务并单击“附加”。 选择公共语言运行库
你的问题不在于记录器。您的问题是如何调试Windows服务

使用Visual Studio,您可以这样做:

使用调试信息编译Windows服务。 安装服务并运行它。 启动VisualStudio。 选择调试->附加进程 单击“显示来自所有用户的流程” 搜索您的服务并单击“附加”。 选择公共语言运行库
像大型日志一样:在日志库中包含内部日志记录。或者首先使用其中一个大的,像大的一样:在日志库中包含内部日志。或者首先使用一个大的。