Esempio n. 1
0
    void on_button_logs_folder_open_clicked(object o, EventArgs args)
    {
        string dir = UtilAll.GetLogsDir();

        LogB.Information(dir);

        if (!new System.IO.DirectoryInfo(dir).Exists)
        {
            try {
                Directory.CreateDirectory(dir);
            } catch {
                new DialogMessage(Constants.MessageTypes.WARNING,
                                  Catalog.GetString("Cannot create directory.") + "\n\n" + dir);
                return;
            }
        }

        try {
            System.Diagnostics.Process.Start(dir);
        }
        catch {
            new DialogMessage(Constants.MessageTypes.WARNING,
                              Constants.DirectoryCannotOpen + "\n\n" + dir);
        }
    }
Esempio n. 2
0
    //on Windows since 1.4.10
    public static void Start()
    {
        //first define console will be used.
        //if writer is created ok, then console will NOT be used
        useConsole = true;

        //create dir if not exists
        string dir = UtilAll.GetLogsDir();

        if (!Directory.Exists(dir))
        {
            try {
                Directory.CreateDirectory(dir);
            } catch {
                return;
            }
        }

        string filename    = UtilAll.GetLogFileCurrent();
        string filenameOld = UtilAll.GetLogFileOld();

        //if exists, copy to old
        if (File.Exists(filename))
        {
            try {
                File.Copy(filename, filenameOld, true);                 //can be overwritten
            } catch {}
        }

        /*
         * try {
         *      writer = File.CreateText(filename);
         *      useConsole = false;
         * } catch {}
         */


        //this does not write until exit
        //StreamWriter sw = new StreamWriter(new BufferedStream(new FileStream(UtilAll.GetLogFileCurrent(), FileMode.Create)));

        //this writes all the time
        StreamWriter sw = new StreamWriter(new FileStream(UtilAll.GetLogFileCurrent(), FileMode.Create));

        System.Console.SetOut(sw);
        System.Console.SetError(sw);
        sw.AutoFlush = true;
    }