summaryrefslogtreecommitdiff
path: root/internal/config/args.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/config/args.go')
-rw-r--r--internal/config/args.go25
1 files changed, 19 insertions, 6 deletions
diff --git a/internal/config/args.go b/internal/config/args.go
index 89e4bc9..767cc65 100644
--- a/internal/config/args.go
+++ b/internal/config/args.go
@@ -16,6 +16,7 @@ type Args struct {
ConfigFile string
ConnectionsPerCPU int
Discovery string
+ LogDir string
LogLevel string
Mode omode.Mode
NoColor bool
@@ -39,6 +40,8 @@ func (a *Args) String() string {
var sb strings.Builder
sb.WriteString("Args(")
+ // TODO: All commands should make use of this
+ sb.WriteString(fmt.Sprintf("%s:%s,", "LogDir", a.LogDir))
sb.WriteString(fmt.Sprintf("%s:%s,", "LogLevel", a.LogLevel))
sb.WriteString(fmt.Sprintf("%s:%v,", "Arguments", a.Arguments))
sb.WriteString(fmt.Sprintf("%s:%v,", "ConfigFile", a.ConfigFile))
@@ -66,16 +69,24 @@ func (a *Args) String() string {
}
// Based on the argument list, transform/manipulate some of the arguments.
-func (a *Args) transform(args []string) {
+func (a *Args) transformConfig(args []string, client *ClientConfig, server *ServerConfig, common *CommonConfig) (*ClientConfig, *ServerConfig, *CommonConfig) {
+ if a.LogDir != "" {
+ common.LogDir = a.LogDir
+ if common.LogStrategy == "" {
+ // TODO: Implement the other (not-daily) log strategy for the server.
+ common.LogStrategy = "daily"
+ }
+ }
+
if a.LogLevel != "" {
- Common.LogLevel = a.LogLevel
+ common.LogLevel = a.LogLevel
}
- if a.SSHPort != 2222 {
- Common.SSHPort = a.SSHPort
+ if a.SSHPort != DefaultSSHPort {
+ common.SSHPort = a.SSHPort
}
if a.NoColor {
- Client.TermColorsEnable = false
+ client.TermColorsEnable = false
}
if a.Spartan {
@@ -95,6 +106,8 @@ func (a *Args) transform(args []string) {
}
a.What = strings.Join(files, ",")
}
+
+ return client, server, common
}
// SerializeOptions returns a string ready to be sent over the wire to the server.
@@ -102,4 +115,4 @@ func (a *Args) SerializeOptions() string {
return fmt.Sprintf("quiet=%v:spartan=%v", a.Quiet, a.Spartan)
}
-// TODO: Put the DeseializeOptions function here (move it away from the internal/server package)
+// NEXT: Put the DeseializeOptions function here (move it away from the internal/server package)