1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
/*
* Copyright (C) 2014 ~ 2018 Deepin Technology Co., Ltd.
*
* Author: jouyouyun <jouyouwen717@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package log
import (
"os"
"path/filepath"
"strings"
)
// TODO
var crashReporterArgs = []string{crashReporterExe, "--remove-config", "--config"}
// restartConfig stores data to be used by deepin-crash-reporter
type restartConfig struct {
AppName string
RestartCommand []string
RestartEnv map[string]string
RestartDirectory string
LogDetail string
}
func newRestartConfig(logname string) *restartConfig {
config := &restartConfig{}
config.AppName = logname
config.RestartCommand = os.Args
config.RestartCommand[0], _ = filepath.Abs(os.Args[0])
config.RestartDirectory, _ = os.Getwd()
// setup envrionment variables
config.RestartEnv = make(map[string]string)
environs := os.Environ()
for _, env := range environs {
values := strings.SplitN(env, "=", 2)
// values[0] is environment variable name, values[1] is the value
if len(values) == 2 {
config.RestartEnv[values[0]] = values[1]
}
}
return config
}
|