11
11
namespace myframe {
12
12
13
13
ModuleArgument::ModuleArgument (
14
- const std::string& sys_conf_dir) {
15
- sys_conf_dir_ = myframe::Common::GetAbsolutePath (sys_conf_dir);
14
+ const std::string& default_sys_conf_dir) {
15
+ default_sys_conf_dir_ = myframe::Common::GetAbsolutePath (
16
+ default_sys_conf_dir);
16
17
parser_.add <std::string>(" process_name" , ' p' ,
17
18
" The name of this launcher process, "
18
19
" and it is also the name of log, "
@@ -24,6 +25,12 @@ ModuleArgument::ModuleArgument(
24
25
parser_.add <std::string>(" dir" , ' d' ,
25
26
" module config dir" ,
26
27
false , " " );
28
+ parser_.add <std::string>(" log_dir" , 0 ,
29
+ " framework log dir" ,
30
+ false , " " );
31
+ parser_.add <std::string>(" lib_dir" , 0 ,
32
+ " framework lib dir" ,
33
+ false , " " );
27
34
parser_.footer (" module_config_file ..." );
28
35
}
29
36
@@ -65,14 +72,24 @@ void ModuleArgument::ParseArgument(
65
72
for (size_t i = 0 ; i < parser_.rest ().size (); i++) {
66
73
conf_list_.emplace_back (parser_.rest ()[i]);
67
74
}
75
+
76
+ auto log_dir = parser_.get <std::string>(" log_dir" );
77
+ if (!log_dir.empty ()) {
78
+ log_dir_ = log_dir;
79
+ }
80
+
81
+ auto lib_dir = parser_.get <std::string>(" lib_dir" );
82
+ if (!lib_dir.empty ()) {
83
+ lib_dir_ = lib_dir;
84
+ }
68
85
}
69
86
70
87
bool ModuleArgument::ParseSysConf (const std::string& sys_conf) {
71
88
std::string full_sys_conf;
72
89
if (Common::IsAbsolutePath (sys_conf)) {
73
90
full_sys_conf = sys_conf;
74
91
} else {
75
- full_sys_conf = (sys_conf_dir_ / sys_conf).string ();
92
+ full_sys_conf = (default_sys_conf_dir_ / sys_conf).string ();
76
93
}
77
94
auto root = Common::LoadJsonFromFile (full_sys_conf);
78
95
if (root.isNull ()
@@ -97,6 +114,18 @@ bool ModuleArgument::ParseSysConf(const std::string& sys_conf) {
97
114
&& root[" warning_msg_size" ].asInt () < 1024 ) {
98
115
warning_msg_size_ = root[" warning_msg_size" ].asInt ();
99
116
}
117
+ if (root.isMember (" log_dir" )
118
+ && root[" log_dir" ].isString ()) {
119
+ log_dir_ = root[" log_dir" ].asString ();
120
+ }
121
+ if (root.isMember (" lib_dir" )
122
+ && root[" lib_dir" ].isString ()) {
123
+ lib_dir_ = root[" lib_dir" ].asString ();
124
+ }
125
+ if (root.isMember (" service_dir" )
126
+ && root[" service_dir" ].isString ()) {
127
+ conf_dir_ = root[" service_dir" ].asString ();
128
+ }
100
129
return true ;
101
130
}
102
131
0 commit comments