summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-07-11 09:34:26 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-07-11 09:34:26 +0200
commitf55eee74a3fca58f747857c9b7ec5040178a6f8b (patch)
tree04c8ae7ab49e55dfc6cbb118cde26862ed3e2bae
parent53265e3c7403c290158b70f7efad2b9388a06e6c (diff)
downloadrsyslog-f55eee74a3fca58f747857c9b7ec5040178a6f8b.tar.gz
rsyslog-f55eee74a3fca58f747857c9b7ec5040178a6f8b.tar.xz
rsyslog-f55eee74a3fca58f747857c9b7ec5040178a6f8b.zip
issue a warning message for old-style dynafile action
-rw-r--r--doc/v4compatibility.html19
-rw-r--r--runtime/rsyslog.h1
-rw-r--r--tools/omfile.c9
3 files changed, 28 insertions, 1 deletions
diff --git a/doc/v4compatibility.html b/doc/v4compatibility.html
index 5d877af1..72b0f5a9 100644
--- a/doc/v4compatibility.html
+++ b/doc/v4compatibility.html
@@ -74,4 +74,23 @@ So it is a good idea to become ready for the new version now and also enjoy some
benefits of the &quot;real restart&quot;, like the better error-reporting capability.
<p>Note that code complexity reduction (and thus performance improvement) needs the restart-type
HUP code to be removed, so these changes can (and will) only happen in version 5.
+<h2>outchannels</h2>
+Note: as always documented, outchannels are an experimental feature that may be
+removed and/or changed in the future.
+There is one concrete change done starting with 4.6.7: let's assume an
+outchannel "mychannel" was defined. Then, this channel could be used inside an
+<code>
+*.* $mychannel
+</code>
+This is still supported and will remain to be supported in v4. However, there is
+a new variant which explicitely tells this is to be handled by omfile. This new
+syntax is as follows:
+<code>
+*.* :omfile:$mychannel
+</code>
+Note that future versions, specifically starting with v6, the older syntax is no
+longer supported. So users are strongly advised to switch to the new syntax. As an
+aid to the conversion process, rsyslog 4.7.4 and above issue a warning message
+if the old-style directive is seen -- but still accept the old syntax without
+any problems.
</body></html>
diff --git a/runtime/rsyslog.h b/runtime/rsyslog.h
index 9dd45b38..03f5120d 100644
--- a/runtime/rsyslog.h
+++ b/runtime/rsyslog.h
@@ -382,6 +382,7 @@ enum rsRetVal_ /** return value. All methods return this if not specified oth
RS_RET_EPOLL_CR_FAILED = -2173, /**< epoll_create() failed */
RS_RET_EPOLL_CTL_FAILED = -2174, /**< epoll_ctl() failed */
RS_RET_INTERNAL_ERROR = -2175, /**< rsyslogd internal error, unexpected code path reached */
+ RS_RET_OUTDATED_STMT = -2184, /**< some outdated statement/functionality is being used in conf file */
/* RainerScript error messages (range 1000.. 1999) */
RS_RET_SYSVAR_NOT_FOUND = 1001, /**< system variable could not be found (maybe misspelled) */
diff --git a/tools/omfile.c b/tools/omfile.c
index b7b94597..a58dfd5b 100644
--- a/tools/omfile.c
+++ b/tools/omfile.c
@@ -672,7 +672,14 @@ CODESTARTparseSelectorAct
*/
if(!strncmp((char*) p, ":omfile:", sizeof(":omfile:") - 1)) {
p += sizeof(":omfile:") - 1;
- }
+ } else {
+ if(*p == '$') {
+ errmsg.LogError(0, RS_RET_OUTDATED_STMT,
+ "action '%s' treated as ':omfile:%s' - please "
+ "change syntax, '%s' will not be supported in "
+ "rsyslog v6 and above.", p, p, p);
+ }
+ }
if(!(*p == '$' || *p == '?' || *p == '/' || *p == '.' || *p == '-'))
ABORT_FINALIZE(RS_RET_CONFLINE_UNPROCESSED);