Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nghttp2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
nghttp2
Commits
35feae3b
Commit
35feae3b
authored
Jan 18, 2016
by
Tatsuhiro Tsujikawa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nghttpx: Group up logging related options
parent
a053d108
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
63 additions
and
44 deletions
+63
-44
src/shrpx.cc
src/shrpx.cc
+20
-11
src/shrpx_client_handler.cc
src/shrpx_client_handler.cc
+2
-2
src/shrpx_config.cc
src/shrpx_config.cc
+6
-6
src/shrpx_config.h
src/shrpx_config.h
+16
-8
src/shrpx_log.cc
src/shrpx_log.cc
+19
-17
No files found.
src/shrpx.cc
View file @
35feae3b
...
...
@@ -929,13 +929,7 @@ void fill_default_config() {
mod_config
()
->
downstream_no_tls
=
false
;
mod_config
()
->
num_worker
=
1
;
mod_config
()
->
accesslog_file
=
nullptr
;
mod_config
()
->
accesslog_syslog
=
false
;
mod_config
()
->
accesslog_format
=
parse_log_format
(
DEFAULT_ACCESSLOG_FORMAT
);
mod_config
()
->
errorlog_file
=
strcopy
(
"/dev/stderr"
);
mod_config
()
->
errorlog_syslog
=
false
;
mod_config
()
->
conf_path
=
strcopy
(
"/etc/nghttpx/nghttpx.conf"
);
mod_config
()
->
syslog_facility
=
LOG_DAEMON
;
// Default accept() backlog
mod_config
()
->
backlog
=
512
;
mod_config
()
->
http2_proxy
=
false
;
...
...
@@ -1047,6 +1041,19 @@ void fill_default_config() {
http2conf
.
max_concurrent_streams
=
100
;
http2conf
.
no_cookie_crumbling
=
false
;
http2conf
.
no_server_push
=
false
;
auto
&
loggingconf
=
mod_config
()
->
logging
;
{
auto
&
accessconf
=
loggingconf
.
access
;
accessconf
.
syslog
=
false
;
accessconf
.
format
=
parse_log_format
(
DEFAULT_ACCESSLOG_FORMAT
);
auto
&
errorconf
=
loggingconf
.
error
;
errorconf
.
file
=
strcopy
(
"/dev/stderr"
);
errorconf
.
syslog
=
false
;
}
loggingconf
.
syslog_facility
=
LOG_DAEMON
;
}
}
// namespace
...
...
@@ -1573,14 +1580,14 @@ Logging:
Set path to write error log. To reopen file, send USR1
signal to nghttpx. stderr will be redirected to the
error log file unless --errorlog-syslog is used.
Default: )"
<<
get_config
()
->
errorlog_
file
.
get
()
<<
R"(
Default: )"
<<
get_config
()
->
logging
.
error
.
file
.
get
()
<<
R"(
--errorlog-syslog
Send error log to syslog. If this option is used,
--errorlog-file option is ignored.
--syslog-facility=<FACILITY>
Set syslog facility to <FACILITY>.
Default: )"
<<
str_syslog_facility
(
get_config
()
->
syslog_facility
)
<<
R"(
Default: )"
<<
str_syslog_facility
(
get_config
()
->
logging
.
syslog_facility
)
<<
R"(
HTTP:
--add-x-forwarded-for
...
...
@@ -1759,9 +1766,11 @@ void process_options(
assert
(
include_set
.
empty
());
}
if
(
get_config
()
->
accesslog_syslog
||
get_config
()
->
errorlog_syslog
)
{
auto
&
loggingconf
=
get_config
()
->
logging
;
if
(
loggingconf
.
access
.
syslog
||
loggingconf
.
error
.
syslog
)
{
openlog
(
"nghttpx"
,
LOG_NDELAY
|
LOG_NOWAIT
|
LOG_PID
,
get_config
()
->
syslog_facility
);
loggingconf
.
syslog_facility
);
}
if
(
reopen_log_files
()
!=
0
)
{
...
...
src/shrpx_client_handler.cc
View file @
35feae3b
...
...
@@ -836,7 +836,7 @@ void ClientHandler::write_accesslog(Downstream *downstream) {
const
auto
&
resp
=
downstream
->
response
();
upstream_accesslog
(
get_config
()
->
accesslog_
format
,
get_config
()
->
logging
.
access
.
format
,
LogSpec
{
downstream
,
ipaddr_
,
http2
::
to_method_string
(
req
.
method
),
...
...
@@ -869,7 +869,7 @@ void ClientHandler::write_accesslog(int major, int minor, unsigned int status,
nghttp2
::
ssl
::
TLSSessionInfo
tls_info
;
upstream_accesslog
(
get_config
()
->
accesslog_
format
,
get_config
()
->
logging
.
access
.
format
,
LogSpec
{
nullptr
,
ipaddr_
,
StringRef
::
from_lit
(
"-"
),
// method
...
...
src/shrpx_config.cc
View file @
35feae3b
...
...
@@ -1499,23 +1499,23 @@ int parse_config(const char *opt, const char *optarg,
case
SHRPX_OPTID_STREAM_WRITE_TIMEOUT
:
return
parse_duration
(
&
mod_config
()
->
stream_write_timeout
,
opt
,
optarg
);
case
SHRPX_OPTID_ACCESSLOG_FILE
:
mod_config
()
->
accesslog_
file
=
strcopy
(
optarg
);
mod_config
()
->
logging
.
access
.
file
=
strcopy
(
optarg
);
return
0
;
case
SHRPX_OPTID_ACCESSLOG_SYSLOG
:
mod_config
()
->
accesslog_
syslog
=
util
::
strieq
(
optarg
,
"yes"
);
mod_config
()
->
logging
.
access
.
syslog
=
util
::
strieq
(
optarg
,
"yes"
);
return
0
;
case
SHRPX_OPTID_ACCESSLOG_FORMAT
:
mod_config
()
->
accesslog_
format
=
parse_log_format
(
optarg
);
mod_config
()
->
logging
.
access
.
format
=
parse_log_format
(
optarg
);
return
0
;
case
SHRPX_OPTID_ERRORLOG_FILE
:
mod_config
()
->
errorlog_
file
=
strcopy
(
optarg
);
mod_config
()
->
logging
.
error
.
file
=
strcopy
(
optarg
);
return
0
;
case
SHRPX_OPTID_ERRORLOG_SYSLOG
:
mod_config
()
->
errorlog_
syslog
=
util
::
strieq
(
optarg
,
"yes"
);
mod_config
()
->
logging
.
error
.
syslog
=
util
::
strieq
(
optarg
,
"yes"
);
return
0
;
case
SHRPX_OPTID_FASTOPEN
:
{
...
...
@@ -1660,7 +1660,7 @@ int parse_config(const char *opt, const char *optarg,
LOG
(
ERROR
)
<<
opt
<<
": Unknown syslog facility: "
<<
optarg
;
return
-
1
;
}
mod_config
()
->
syslog_facility
=
facility
;
mod_config
()
->
logging
.
syslog_facility
=
facility
;
return
0
;
}
...
...
src/shrpx_config.h
View file @
35feae3b
...
...
@@ -434,14 +434,29 @@ struct Http2Config {
bool
no_server_push
;
}
;
struct
LoggingConfig
{
struct
{
std
::
vector
<
LogFragment
>
format
;
std
::
unique_ptr
<
char
[]
>
file
;
// Send accesslog to syslog, ignoring accesslog_file.
bool
syslog
;
}
access
;
struct
{
std
::
unique_ptr
<
char
[]
>
file
;
// Send errorlog to syslog, ignoring errorlog_file.
bool
syslog
;
}
error
;
int
syslog_facility
;
}
;
struct
Config
{
std
::
vector
<
LogFragment
>
accesslog_format
;
std
::
vector
<
DownstreamAddrGroup
>
downstream_addr_groups
;
Router
router
;
HttpProxy
downstream_http_proxy
;
HttpConfig
http
;
Http2Config
http2
;
TLSConfig
tls
;
LoggingConfig
logging
;
ev_tstamp
http2_upstream_read_timeout
;
ev_tstamp
upstream_read_timeout
;
ev_tstamp
upstream_write_timeout
;
...
...
@@ -456,8 +471,6 @@ struct Config {
std
::
unique_ptr
<
char
[]
>
host
;
std
::
unique_ptr
<
char
[]
>
pid_file
;
std
::
unique_ptr
<
char
[]
>
conf_path
;
std
::
unique_ptr
<
char
[]
>
accesslog_file
;
std
::
unique_ptr
<
char
[]
>
errorlog_file
;
std
::
unique_ptr
<
char
[]
>
user
;
std
::
unique_ptr
<
char
[]
>
mruby_file
;
char
**
original_argv
;
...
...
@@ -483,7 +496,6 @@ struct Config {
size_t
downstream_addr_group_catch_all
;
// downstream protocol; this will be determined by given options.
shrpx_proto
downstream_proto
;
int
syslog_facility
;
int
backlog
;
int
argc
;
int
fastopen
;
...
...
@@ -500,10 +512,6 @@ struct Config {
bool
client_proxy
;
bool
upstream_no_tls
;
bool
downstream_no_tls
;
// Send accesslog to syslog, ignoring accesslog_file.
bool
accesslog_syslog
;
// Send errorlog to syslog, ignoring errorlog_file.
bool
errorlog_syslog
;
bool
client
;
// true if --client or --client-proxy are enabled.
bool
client_mode
;
...
...
src/shrpx_log.cc
View file @
35feae3b
...
...
@@ -109,12 +109,14 @@ Log::~Log() {
auto
lgconf
=
log_config
();
auto
&
errorconf
=
get_config
()
->
logging
.
error
;
if
(
!
log_enabled
(
severity_
)
||
(
lgconf
->
errorlog_fd
==
-
1
&&
!
get_config
()
->
errorlog_
syslog
))
{
(
lgconf
->
errorlog_fd
==
-
1
&&
!
errorconf
.
syslog
))
{
return
;
}
if
(
get_config
()
->
errorlog_
syslog
)
{
if
(
errorconf
.
syslog
)
{
if
(
severity_
==
NOTICE
)
{
syslog
(
severity_to_syslog_level
(
severity_
),
"[%s] %s"
,
SEVERITY_STR
[
severity_
],
stream_
.
str
().
c_str
());
...
...
@@ -219,8 +221,9 @@ std::pair<OutputIterator, size_t> copy_hex_low(const uint8_t *src,
void
upstream_accesslog
(
const
std
::
vector
<
LogFragment
>
&
lfv
,
const
LogSpec
&
lgsp
)
{
auto
lgconf
=
log_config
();
auto
&
accessconf
=
get_config
()
->
logging
.
access
;
if
(
lgconf
->
accesslog_fd
==
-
1
&&
!
get_config
()
->
accesslog_
syslog
)
{
if
(
lgconf
->
accesslog_fd
==
-
1
&&
!
accessconf
.
syslog
)
{
return
;
}
...
...
@@ -360,7 +363,7 @@ void upstream_accesslog(const std::vector<LogFragment> &lfv,
*
p
=
'\0'
;
if
(
get_config
()
->
accesslog_
syslog
)
{
if
(
accessconf
.
syslog
)
{
syslog
(
LOG_INFO
,
"%s"
,
buf
);
return
;
...
...
@@ -379,29 +382,27 @@ int reopen_log_files() {
int
new_errorlog_fd
=
-
1
;
auto
lgconf
=
log_config
();
auto
&
accessconf
=
get_config
()
->
logging
.
access
;
auto
&
errorconf
=
get_config
()
->
logging
.
error
;
if
(
!
get_config
()
->
accesslog_syslog
&&
get_config
()
->
accesslog_file
)
{
new_accesslog_fd
=
util
::
open_log_file
(
get_config
()
->
accesslog_file
.
get
());
if
(
!
accessconf
.
syslog
&&
accessconf
.
file
)
{
new_accesslog_fd
=
util
::
open_log_file
(
accessconf
.
file
.
get
());
if
(
new_accesslog_fd
==
-
1
)
{
LOG
(
ERROR
)
<<
"Failed to open accesslog file "
<<
get_config
()
->
accesslog_file
.
get
();
LOG
(
ERROR
)
<<
"Failed to open accesslog file "
<<
accessconf
.
file
.
get
();
res
=
-
1
;
}
}
if
(
!
get_config
()
->
errorlog_syslog
&&
get_config
()
->
errorlog_file
)
{
new_errorlog_fd
=
util
::
open_log_file
(
get_config
()
->
errorlog_file
.
get
());
if
(
!
errorconf
.
syslog
&&
errorconf
.
file
)
{
new_errorlog_fd
=
util
::
open_log_file
(
errorconf
.
file
.
get
());
if
(
new_errorlog_fd
==
-
1
)
{
if
(
lgconf
->
errorlog_fd
!=
-
1
)
{
LOG
(
ERROR
)
<<
"Failed to open errorlog file "
<<
get_config
()
->
errorlog_file
.
get
();
LOG
(
ERROR
)
<<
"Failed to open errorlog file "
<<
errorconf
.
file
.
get
();
}
else
{
std
::
cerr
<<
"Failed to open errorlog file "
<<
get_config
()
->
errorlog_file
.
get
()
<<
std
::
endl
;
std
::
cerr
<<
"Failed to open errorlog file "
<<
errorconf
.
file
.
get
()
<<
std
::
endl
;
}
res
=
-
1
;
...
...
@@ -444,8 +445,9 @@ void log_chld(pid_t pid, int rstatus, const char *msg) {
void
redirect_stderr_to_errorlog
()
{
auto
lgconf
=
log_config
();
auto
&
errorconf
=
get_config
()
->
logging
.
error
;
if
(
get_config
()
->
errorlog_
syslog
||
lgconf
->
errorlog_fd
==
-
1
)
{
if
(
errorconf
.
syslog
||
lgconf
->
errorlog_fd
==
-
1
)
{
return
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment