Skip to content

Commit 77b2188

Browse files
authored
Merge pull request #1594 from Enrice/fix-1416
Allow specifying error_log severity for servers
2 parents cc08a21 + 280cc84 commit 77b2188

File tree

5 files changed

+50
-16
lines changed

5 files changed

+50
-16
lines changed

REFERENCE.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -3322,6 +3322,7 @@ The following parameters are available in the `nginx::resource::server` defined
33223322
* [`include_files`](#-nginx--resource--server--include_files)
33233323
* [`access_log`](#-nginx--resource--server--access_log)
33243324
* [`error_log`](#-nginx--resource--server--error_log)
3325+
* [`error_log_severity`](#-nginx--resource--server--error_log_severity)
33253326
* [`passenger_cgi_param`](#-nginx--resource--server--passenger_cgi_param)
33263327
* [`passenger_set_header`](#-nginx--resource--server--passenger_set_header)
33273328
* [`passenger_env_var`](#-nginx--resource--server--passenger_env_var)
@@ -4177,12 +4178,19 @@ Default value: `undef`
41774178

41784179
Data type: `Optional[Variant[String, Array]]`
41794180

4180-
Where to write error log. May add additional options like error level to
4181-
the end. May set to 'absent', in which case it will be omitted in this
4181+
Where to write error log. May be set to 'absent', in which case it will be omitted in this
41824182
server stanza (and default to nginx.conf setting)
41834183

41844184
Default value: `undef`
41854185

4186+
##### <a name="-nginx--resource--server--error_log_severity"></a>`error_log_severity`
4187+
4188+
Data type: `Optional[Nginx::ErrorLogSeverity]`
4189+
4190+
Optional error level
4191+
4192+
Default value: `undef`
4193+
41864194
##### <a name="-nginx--resource--server--passenger_cgi_param"></a>`passenger_cgi_param`
41874195

41884196
Data type: `Optional[Hash]`

manifests/resource/server.pp

+4-2
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,10 @@
233233
# server stanza, rather than setting a default. Can also be disabled for this
234234
# server with the string 'off'.
235235
# @param error_log
236-
# Where to write error log. May add additional options like error level to
237-
# the end. May set to 'absent', in which case it will be omitted in this
236+
# Where to write error log. May be set to 'absent', in which case it will be omitted in this
238237
# server stanza (and default to nginx.conf setting)
238+
# @param error_log_severity
239+
# Optional error level
239240
# @param passenger_cgi_param
240241
# Allows one to define additional CGI environment variables to pass to the backend application
241242
# @param passenger_set_header
@@ -399,6 +400,7 @@
399400
Optional[Array[String]] $include_files = undef,
400401
Optional[Variant[String, Array]] $access_log = undef,
401402
Optional[Variant[String, Array]] $error_log = undef,
403+
Optional[Nginx::ErrorLogSeverity] $error_log_severity = undef,
402404
Optional[String] $format_log = $nginx::http_format_log,
403405
Optional[Hash] $passenger_cgi_param = undef,
404406
Optional[Hash] $passenger_set_header = undef,

spec/defines/resource_server_spec.rb

+24
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,18 @@
358358
' error_log syslog:server=localhost;'
359359
]
360360
},
361+
{
362+
title: 'should set error_log severity level',
363+
attr: 'error_log_severity',
364+
value: 'warn',
365+
match: ' error_log /var/log/nginx/www.rspec.example.com.error.log warn;'
366+
},
367+
{
368+
title: 'should not set error_log severity level',
369+
attr: 'error_log_severity',
370+
value: :undef,
371+
match: ' error_log /var/log/nginx/www.rspec.example.com.error.log;'
372+
},
361373
{
362374
title: 'should not include error_log in server when set to absent',
363375
attr: 'error_log',
@@ -1017,6 +1029,18 @@
10171029
' error_log syslog:server=localhost;'
10181030
]
10191031
},
1032+
{
1033+
title: 'should set error_log severity level',
1034+
attr: 'error_log_severity',
1035+
value: 'warn',
1036+
match: ' error_log /var/log/nginx/ssl-www.rspec.example.com.error.log warn;'
1037+
},
1038+
{
1039+
title: 'should not set error_log severity level',
1040+
attr: 'error_log_severity',
1041+
value: :undef,
1042+
match: ' error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;'
1043+
},
10201044
{
10211045
title: 'should not include error_log in server when set to absent',
10221046
attr: 'error_log',

templates/server/server_header.erb

+6-6
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ server {
4848
<% end -%>
4949
<% if @error_log.is_a?(Array) -%>
5050
<%- @error_log.each do |log_item| -%>
51-
error_log <%= log_item %>;
51+
error_log <%= log_item %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
5252
<%- end -%>
5353
<% elsif @error_log == 'absent' -%>
5454
<% elsif not @error_log -%>
55-
error_log <%= scope['nginx::config::log_dir'] %>/<%= @name_sanitized %>.error.log;
55+
error_log <%= scope['nginx::config::log_dir'] %>/<%= @name_sanitized %>.error.log<% if @error_log_severity %> <%= @error_log_severity %><% end %>;
5656
<% else -%>
57-
error_log <%= @error_log %>;
57+
error_log <%= @error_log %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
5858
<% end -%>
5959
}
6060

@@ -200,13 +200,13 @@ server {
200200
<% end -%>
201201
<% if @error_log.is_a?(Array) -%>
202202
<%- @error_log.each do |log_item| -%>
203-
error_log <%= log_item %>;
203+
error_log <%= log_item %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
204204
<%- end -%>
205205
<% elsif @error_log == 'absent' -%>
206206
<% elsif not @error_log -%>
207-
error_log <%= scope['nginx::config::log_dir'] %>/<%= @name_sanitized %>.error.log;
207+
error_log <%= scope['nginx::config::log_dir'] %>/<%= @name_sanitized %>.error.log<% if @error_log_severity %> <%= @error_log_severity %><% end %>;
208208
<% else -%>
209-
error_log <%= @error_log %>;
209+
error_log <%= @error_log %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
210210
<% end -%>
211211
<% if @error_pages -%>
212212

templates/server/server_ssl_header.erb

+6-6
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ server {
3131
<% end -%>
3232
<% if @error_log.is_a?(Array) -%>
3333
<%- @error_log.each do |log_item| -%>
34-
error_log <%= log_item %>;
34+
error_log <%= log_item %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
3535
<%- end -%>
3636
<% elsif @error_log == 'absent' -%>
3737
<% elsif not @error_log -%>
38-
error_log <%= scope['nginx::config::log_dir'] %>/ssl-<%= @name_sanitized %>.error.log;
38+
error_log <%= scope['nginx::config::log_dir'] %>/ssl-<%= @name_sanitized %>.error.log<% if @error_log_severity %> <%= @error_log_severity %><% end %>;
3939
<% else -%>
40-
error_log <%= @error_log %>;
40+
error_log <%= @error_log %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
4141
<% end -%>
4242
<%= scope.function_template(["nginx/server/server_ssl_settings.erb"]) %>
4343

@@ -129,13 +129,13 @@ server {
129129
<% end -%>
130130
<% if @error_log.is_a?(Array) -%>
131131
<%- @error_log.each do |log_item| -%>
132-
error_log <%= log_item %>;
132+
error_log <%= log_item %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
133133
<%- end -%>
134134
<% elsif @error_log == 'absent' -%>
135135
<% elsif not @error_log -%>
136-
error_log <%= scope['nginx::config::log_dir'] %>/ssl-<%= @name_sanitized %>.error.log;
136+
error_log <%= scope['nginx::config::log_dir'] %>/ssl-<%= @name_sanitized %>.error.log<% if @error_log_severity %> <%= @error_log_severity %><% end %>;
137137
<% else -%>
138-
error_log <%= @error_log %>;
138+
error_log <%= @error_log %><% if @error_log_severity %> <%= @error_log_severity %><% end %>;
139139
<% end -%>
140140
<% if @error_pages -%>
141141

0 commit comments

Comments
 (0)