本文整理汇总了Golang中github.com/spf13/viper.ConfigFileUsed函数的典型用法代码示例。如果您正苦于以下问题:Golang ConfigFileUsed函数的具体用法?Golang ConfigFileUsed怎么用?Golang ConfigFileUsed使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigFileUsed函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if cfgFile != "" { // enable ability to specify config file via flag
viper.SetConfigFile(cfgFile)
}
viper.SetConfigName("." + NAME) // name of config file (without extension)
viper.AddConfigPath("$HOME") // adding home directory as first search path
viper.AutomaticEnv() // read in environment variables that match
viper.ConfigFileUsed()
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Println("Using config file:", viper.ConfigFileUsed())
}
}
示例2: Persist
func (c *Config) Persist() error {
_ = c.GetIssuer()
_ = c.GetAddress()
_ = c.GetClusterURL()
out, err := yaml.Marshal(c)
if err != nil {
return errors.New(err)
}
if err := ioutil.WriteFile(viper.ConfigFileUsed(), out, 0700); err != nil {
return errors.Errorf(`Could not write to "%s" because: %s`, viper.ConfigFileUsed(), err)
}
return nil
}
示例3: PrintConfig
func PrintConfig(ctx log.Interface, debug bool) {
prt := ctx.Infof
if debug {
prt = ctx.Debugf
}
prt("Using config:")
fmt.Println()
printKV("config file", viper.ConfigFileUsed())
printKV("data dir", viper.GetString("data"))
fmt.Println()
for key, val := range viper.AllSettings() {
switch key {
case "builddate":
fallthrough
case "gitcommit":
fallthrough
case "gitbranch":
fallthrough
case "version":
continue
default:
printKV(key, val)
}
}
fmt.Println()
}
示例4: SaveViperConfig
func SaveViperConfig() error {
cfg := viper.ConfigFileUsed()
if cfg == "" {
usr, err := user.Current()
if err != nil {
return err
}
cfg = filepath.Join(usr.HomeDir, "."+NAME+".yaml")
}
f, err := os.Create(cfg)
if err != nil {
return err
}
defer f.Close()
all := viper.AllSettings()
b, err := yaml.Marshal(all)
if err != nil {
return fmt.Errorf("Panic while encoding into YAML format.")
}
if _, err := f.WriteString(string(b)); err != nil {
return err
}
return nil
}
示例5: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if len(cfgFile) != 0 {
viper.SetConfigFile(cfgFile)
}
viper.SetConfigName(".otp-config")
viper.AddConfigPath("$HOME")
viper.AutomaticEnv()
apiKey, _ := RootCmd.Flags().GetString("api-key")
if len(apiKey) == 0 && len(os.Getenv("GITHUB_API_KEY")) > 0 {
RootCmd.Flags().Set("api-key", os.Getenv("GITHUB_API_KEY"))
}
if len(apiKey) > 0 {
if err := os.Setenv("GITHUB_API_KEY", apiKey); err != nil {
fmt.Fprintf(os.Stderr, "Error: Unable to set GITHUB_API_KEY\n")
os.Exit(1)
}
}
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Println("Using config file:", viper.ConfigFileUsed())
}
log.SetFormatter(&log.TextFormatter{})
log.SetOutput(os.Stderr)
if api.Verbose {
log.SetLevel(log.DebugLevel)
} else {
log.SetLevel(log.WarnLevel)
}
}
示例6: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if cfgFile != "" { // enable ability to specify config file via flag
viper.SetConfigFile(cfgFile)
}
viper.SetConfigName(".ata") // name of config file (without extension)
viper.AddConfigPath("$HOME") // adding home directory as first search path
viper.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Println("Using config file:", viper.ConfigFileUsed())
}
// deal with verbose and debug mode
if DebugMode {
logger.SetLevel(logging.DebugLevel)
}
logger.ActivateVerboseOutput(VerboseMode)
// check that work directory exists
if !io.DirectoryExists(WorkDirectory) {
log.Fatalf("Work directory '%s' does not exist or is not readable", WorkDirectory)
}
}
示例7: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig(cmd *cobra.Command) {
viper.SetConfigName(".skelly") // name of config file (without extension)
viper.AddConfigPath("$HOME") // adding home directory as first search path
viper.SetConfigType("json")
viper.AutomaticEnv() // read in environment variables that match
fmt.Println("got here")
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Println("Using config file:", viper.ConfigFileUsed())
}
// Make sure that go src var is set
gopath = viper.GetString("gopath")
if len(gopath) <= 0 {
gopath = joinPath(os.Getenv("GOPATH"), "src")
viper.Set("gopath", gopath)
}
if cmd.Flags().Lookup("project-root").Changed {
viper.Set("project-root", basePath)
}
if cmd.Flags().Lookup("author").Changed {
fmt.Println("adding author")
viper.Set("author", author)
}
if cmd.Flags().Lookup("email").Changed {
viper.Set("email", email)
}
fmt.Println(email)
if cmd.Flags().Lookup("license").Changed {
viper.Set("license", license)
}
}
示例8: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if config.ConfigFile != "" { // enable ability to specify config file via flag
viper.SetConfigFile(config.ConfigFile)
}
viper.SetConfigName(subifyConfigFile) // name of config file (without extension)
viper.AddConfigPath(subifyConfigPath) // adding home directory as first search path
// If a config file is found, read it in.
err := viper.ReadInConfig()
if err == nil {
fmt.Println("Using config file:" + viper.ConfigFileUsed())
} else {
fmt.Println("Cant read config file:" + viper.ConfigFileUsed())
}
}
示例9: Init
// Init calls flag.Parse() and, for now, sets up the
// credentials.
func (cs *CliState) Init() error {
cs.flagSet.Parse(os.Args[1:])
config.SetConfigName(".romana") // name of config file (without extension)
config.SetConfigType("yaml")
config.AddConfigPath("$HOME") // adding home directory as first search path
config.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
err := config.ReadInConfig()
if err != nil {
switch err := err.(type) {
case config.ConfigFileNotFoundError:
// For now do nothing
case *os.PathError:
if err.Error() != "open : no such file or directory" {
return err
}
default:
return err
}
}
log.Infof("Using config file: %s", config.ConfigFileUsed())
err = cs.credential.Initialize()
return err
}
示例10: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if cfgFile != "" { // enable ability to specify config file via flag
viper.SetConfigFile(cfgFile)
}
viper.SetConfigName(".grnl") // name of config file (without extension)
viper.AddConfigPath("$HOME") // adding home directory as first search path
viper.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err != nil {
fmt.Printf("Error using config file %q\n%q", viper.ConfigFileUsed(), err)
}
if db != "" {
viper.Set("db", db)
}
if editor != "" {
viper.Set("editor", editor)
}
if dateFormat != "" {
viper.Set("dateFormat", dateFormat)
}
}
示例11: main
func main() {
flag.Parse() // Scan the arguments list
InitializeConfig()
graphite := fmt.Sprintf("%s%s%s", viper.GetString("graphite.host"), ":", viper.GetString("graphite.port"))
prefix := fmt.Sprintf("%s", viper.GetString("graphite.prefix"))
if *versionFlag {
fmt.Println("cnm2g: Cn=monitor to Graphite")
fmt.Println("Version:", APP_VERSION)
fmt.Println("Config File >>>", viper.ConfigFileUsed())
fmt.Println("Graphite >>>", graphite)
fmt.Println("Prefix >>>", prefix)
return
}
ldapmap := viper.GetStringMap("ldap")
dnmap := viper.GetStringMap("dn")
for ldap, _ := range ldapmap {
ldapuri := viper.GetString(fmt.Sprintf("ldap.%s.uri", ldap))
ldapuser := viper.GetString(fmt.Sprintf("ldap.%s.user", ldap))
ldappass := viper.GetString(fmt.Sprintf("ldap.%s.pass", ldap))
for dn, _ := range dnmap {
prefixldap := fmt.Sprintf("%s.%s.%s", prefix, ldap, dn)
data := viper.GetStringSlice(fmt.Sprintf("dn.%s.data", dn))
basedn := viper.GetString(fmt.Sprintf("dn.%s.dn", dn))
ldapresult := FetchData(ldapuri, ldapuser, ldappass, basedn, "(objectclass=*)", data)
if DEBUG {
ShowData(graphite, prefixldap, ldapresult)
} else {
SentData(graphite, prefixldap, ldapresult)
}
}
}
}
示例12: LoadConfigByName
// LoadConfigByName loads a config from a specific file
// Used for separating test from operational configuration
func LoadConfigByName(name string) {
var isFatal bool
var tmp *Config
tmp = new(Config)
cLock.RLock()
isFatal = (config == nil)
cLock.RUnlock()
viper.SetConfigName(name)
viper.SetConfigType("json")
configFolder := getUserConfigFolderPath()
viper.AddConfigPath(configFolder)
viper.AddConfigPath(".") // default path
if err := viper.ReadInConfig(); err != nil {
// No config to start up on
if isFatal {
log.Debugf("Looking for config in: %s", configFolder)
panic(err)
} else {
log.Errorf("Failed to load configuration from %s\n", name)
return
}
}
log.Infof("Config file found: %s\n", viper.ConfigFileUsed())
viper.Unmarshal(tmp)
sanitize(tmp)
// TODO viper can reload config too. Remove this?
// Nope, the versioning is so we can trigger reloading of keys
cLock.Lock()
if config == nil {
tmp.Version = 1
} else {
tmp.Version = config.Version + 1
}
config = tmp
cLock.Unlock()
log.Infof("Success loading configuration ver %d from %s", config.Version, viper.ConfigFileUsed())
}
示例13: renderAndWritePage
func (s *Site) renderAndWritePage(name string, dest string, d interface{}, layouts ...string) error {
renderBuffer := bp.GetBuffer()
defer bp.PutBuffer(renderBuffer)
err := s.render(name, d, renderBuffer, layouts...)
outBuffer := bp.GetBuffer()
defer bp.PutBuffer(outBuffer)
transformLinks := transform.NewEmptyTransforms()
if viper.GetBool("RelativeURLs") || viper.GetBool("CanonifyURLs") {
transformLinks = append(transformLinks, transform.AbsURL)
}
if s.Running() && viper.GetBool("watch") && !viper.GetBool("DisableLiveReload") {
transformLinks = append(transformLinks, transform.LiveReloadInject)
}
var path []byte
if viper.GetBool("RelativeURLs") {
translated, err := s.PageTarget().(target.OptionalTranslator).TranslateRelative(dest)
if err != nil {
return err
}
path = []byte(helpers.GetDottedRelativePath(translated))
} else if viper.GetBool("CanonifyURLs") {
s := viper.GetString("BaseURL")
if !strings.HasSuffix(s, "/") {
s += "/"
}
path = []byte(s)
}
transformer := transform.NewChain(transformLinks...)
transformer.Apply(outBuffer, renderBuffer, path)
if outBuffer.Len() == 0 {
jww.WARN.Printf("%q is rendered empty\n", dest)
if dest == "/" {
jww.ERROR.Println("=============================================================")
jww.ERROR.Println("Your rendered home page is blank: /index.html is zero-length")
jww.ERROR.Println(" * Did you specify a theme on the command-line or in your")
jww.ERROR.Printf(" %q file? (Current theme: %q)\n", filepath.Base(viper.ConfigFileUsed()), viper.GetString("Theme"))
if !viper.GetBool("Verbose") {
jww.ERROR.Println(" * For more debugging information, run \"hugo -v\"")
}
jww.ERROR.Println("=============================================================")
}
}
if err == nil {
if err = s.WriteDestPage(dest, outBuffer); err != nil {
return err
}
}
return err
}
示例14: initConfig
// initConfig reads in config file and ENV variables if set.
func initConfig(file string) error {
if file == "" {
config.SetConfigName(".romana") // name of config file (without extension)
config.AddConfigPath("$HOME") // adding home directory as first search path
} else {
config.SetConfigFile(file) // name of config file
config.AddConfigPath("$HOME") // adding home directory as first search path
}
config.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
err := config.ReadInConfig()
if err != nil {
log.Println("Error using config file:", config.ConfigFileUsed())
return err
}
log.Println("Using config file:", config.ConfigFileUsed())
return nil
}
示例15: LoadConfigByPathWOExtension
// LoadConfigByName loads a config from a specific file
// Used for separating test from operational configuration
func LoadConfigByPathWOExtension(name string) {
var isFatal bool
var tmp *Config
tmp = new(Config)
cLock.RLock()
isFatal = (config == nil)
cLock.RUnlock()
viper.SetConfigName(name)
viper.SetConfigType("json")
userConfigFolder := getUserConfigFolderPath()
configFolder := getConfigFolderPath()
if userConfigFolder != "" {
viper.AddConfigPath(userConfigFolder) // user's own personal config file
}
if configFolder != "" {
viper.AddConfigPath(configFolder) // General fallback config file
}
if err := viper.ReadInConfig(); err != nil {
// No config to start up on
if isFatal {
log.Debugf("Failed to find config in: %s (user) or %s (fallback)",
userConfigFolder, configFolder)
panic(err)
} else {
log.Errorf("Failed to load configuration from %s\n", name)
return
}
}
viper.Unmarshal(tmp)
sanitize(tmp)
cLock.Lock()
if config == nil {
tmp.Version = 1
} else {
tmp.Version = config.Version + 1
}
config = tmp
cLock.Unlock()
log.WithFields(log.Fields{
"path": viper.ConfigFileUsed(),
"confVersion": config.Version,
}).Info("Success loading configuration")
}