aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h300
1 files changed, 150 insertions, 150 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h b/contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h
index 29882f45b5..bb9f84bfb2 100644
--- a/contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h
+++ b/contrib/libs/poco/Foundation/include/Poco/SimpleFileChannel.h
@@ -1,150 +1,150 @@
-//
-// SimpleFileChannel.h
-//
-// Library: Foundation
-// Package: Logging
-// Module: SimpleFileChannel
-//
-// Definition of the SimpleFileChannel class.
-//
-// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_SimpleFileChannel_INCLUDED
-#define Foundation_SimpleFileChannel_INCLUDED
-
-
-#include "Poco/Foundation.h"
-#include "Poco/Channel.h"
-#include "Poco/Timestamp.h"
-#include "Poco/Mutex.h"
-
-
-namespace Poco {
-
-
-class LogFile;
-
-
-class Foundation_API SimpleFileChannel: public Channel
- /// A Channel that writes to a file. This class only
- /// supports simple log file rotation.
- ///
- /// For more features, see the FileChannel class.
- ///
- /// Only the message's text is written, followed
- /// by a newline.
- ///
- /// Chain this channel to a FormattingChannel with an
- /// appropriate Formatter to control what is in the text.
- ///
- /// Log file rotation based on log file size is supported.
- ///
- /// If rotation is enabled, the SimpleFileChannel will
- /// alternate between two log files. If the size of
- /// the primary log file exceeds a specified limit,
- /// the secondary log file will be used, and vice
- /// versa.
- ///
- /// Log rotation is configured with the "rotation"
- /// property, which supports the following values:
- /// * never: no log rotation
- /// * <n>: the file is rotated when its size exceeds
- /// <n> bytes.
- /// * <n> K: the file is rotated when its size exceeds
- /// <n> Kilobytes.
- /// * <n> M: the file is rotated when its size exceeds
- /// <n> Megabytes.
- ///
- /// The path of the (primary) log file can be specified with
- /// the "path" property. Optionally, the path of the secondary
- /// log file can be specified with the "secondaryPath" property.
- ///
- /// If no secondary path is specified, the secondary path will
- /// default to <primaryPath>.1.
- ///
- /// The flush property specifies whether each log message is flushed
- /// immediately to the log file (which may hurt application performance,
- /// but ensures that everything is in the log in case of a system crash),
- // or whether it's allowed to stay in the system's file buffer for some time.
- /// Valid values are:
- ///
- /// * true: Every essages is immediately flushed to the log file (default).
- /// * false: Messages are not immediately flushed to the log file.
- ///
-{
-public:
- SimpleFileChannel();
- /// Creates the FileChannel.
-
- SimpleFileChannel(const std::string& path);
- /// Creates the FileChannel for a file with the given path.
-
- void open();
- /// Opens the FileChannel and creates the log file if necessary.
-
- void close();
- /// Closes the FileChannel.
-
- void log(const Message& msg);
- /// Logs the given message to the file.
-
- void setProperty(const std::string& name, const std::string& value);
- /// Sets the property with the given name.
- ///
- /// The following properties are supported:
- /// * path: The primary log file's path.
- /// * secondaryPath: The secondary log file's path.
- /// * rotation: The log file's rotation mode. See the
- /// SimpleFileChannel class for details.
- /// * flush: Specifies whether messages are immediately
- /// flushed to the log file. See the SimpleFileChannel
- /// class for details.
-
- std::string getProperty(const std::string& name) const;
- /// Returns the value of the property with the given name.
- /// See setProperty() for a description of the supported
- /// properties.
-
- Timestamp creationDate() const;
- /// Returns the log file's creation date.
-
- UInt64 size() const;
- /// Returns the log file's current size in bytes.
-
- const std::string& path() const;
- /// Returns the log file's primary path.
-
- const std::string& secondaryPath() const;
- /// Returns the log file's secondary path.
-
- static const std::string PROP_PATH;
- static const std::string PROP_SECONDARYPATH;
- static const std::string PROP_ROTATION;
- static const std::string PROP_FLUSH;
-
-protected:
- ~SimpleFileChannel();
- void setRotation(const std::string& rotation);
- void setFlush(const std::string& flush);
- void rotate();
-
-private:
- std::string _path;
- std::string _secondaryPath;
- std::string _rotation;
- UInt64 _limit;
- bool _flush;
- LogFile* _pFile;
- FastMutex _mutex;
-};
-
-
-} // namespace Poco
-
-
-#endif // Foundation_SimpleFileChannel_INCLUDED
+//
+// SimpleFileChannel.h
+//
+// Library: Foundation
+// Package: Logging
+// Module: SimpleFileChannel
+//
+// Definition of the SimpleFileChannel class.
+//
+// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_SimpleFileChannel_INCLUDED
+#define Foundation_SimpleFileChannel_INCLUDED
+
+
+#include "Poco/Foundation.h"
+#include "Poco/Channel.h"
+#include "Poco/Timestamp.h"
+#include "Poco/Mutex.h"
+
+
+namespace Poco {
+
+
+class LogFile;
+
+
+class Foundation_API SimpleFileChannel: public Channel
+ /// A Channel that writes to a file. This class only
+ /// supports simple log file rotation.
+ ///
+ /// For more features, see the FileChannel class.
+ ///
+ /// Only the message's text is written, followed
+ /// by a newline.
+ ///
+ /// Chain this channel to a FormattingChannel with an
+ /// appropriate Formatter to control what is in the text.
+ ///
+ /// Log file rotation based on log file size is supported.
+ ///
+ /// If rotation is enabled, the SimpleFileChannel will
+ /// alternate between two log files. If the size of
+ /// the primary log file exceeds a specified limit,
+ /// the secondary log file will be used, and vice
+ /// versa.
+ ///
+ /// Log rotation is configured with the "rotation"
+ /// property, which supports the following values:
+ /// * never: no log rotation
+ /// * <n>: the file is rotated when its size exceeds
+ /// <n> bytes.
+ /// * <n> K: the file is rotated when its size exceeds
+ /// <n> Kilobytes.
+ /// * <n> M: the file is rotated when its size exceeds
+ /// <n> Megabytes.
+ ///
+ /// The path of the (primary) log file can be specified with
+ /// the "path" property. Optionally, the path of the secondary
+ /// log file can be specified with the "secondaryPath" property.
+ ///
+ /// If no secondary path is specified, the secondary path will
+ /// default to <primaryPath>.1.
+ ///
+ /// The flush property specifies whether each log message is flushed
+ /// immediately to the log file (which may hurt application performance,
+ /// but ensures that everything is in the log in case of a system crash),
+ // or whether it's allowed to stay in the system's file buffer for some time.
+ /// Valid values are:
+ ///
+ /// * true: Every essages is immediately flushed to the log file (default).
+ /// * false: Messages are not immediately flushed to the log file.
+ ///
+{
+public:
+ SimpleFileChannel();
+ /// Creates the FileChannel.
+
+ SimpleFileChannel(const std::string& path);
+ /// Creates the FileChannel for a file with the given path.
+
+ void open();
+ /// Opens the FileChannel and creates the log file if necessary.
+
+ void close();
+ /// Closes the FileChannel.
+
+ void log(const Message& msg);
+ /// Logs the given message to the file.
+
+ void setProperty(const std::string& name, const std::string& value);
+ /// Sets the property with the given name.
+ ///
+ /// The following properties are supported:
+ /// * path: The primary log file's path.
+ /// * secondaryPath: The secondary log file's path.
+ /// * rotation: The log file's rotation mode. See the
+ /// SimpleFileChannel class for details.
+ /// * flush: Specifies whether messages are immediately
+ /// flushed to the log file. See the SimpleFileChannel
+ /// class for details.
+
+ std::string getProperty(const std::string& name) const;
+ /// Returns the value of the property with the given name.
+ /// See setProperty() for a description of the supported
+ /// properties.
+
+ Timestamp creationDate() const;
+ /// Returns the log file's creation date.
+
+ UInt64 size() const;
+ /// Returns the log file's current size in bytes.
+
+ const std::string& path() const;
+ /// Returns the log file's primary path.
+
+ const std::string& secondaryPath() const;
+ /// Returns the log file's secondary path.
+
+ static const std::string PROP_PATH;
+ static const std::string PROP_SECONDARYPATH;
+ static const std::string PROP_ROTATION;
+ static const std::string PROP_FLUSH;
+
+protected:
+ ~SimpleFileChannel();
+ void setRotation(const std::string& rotation);
+ void setFlush(const std::string& flush);
+ void rotate();
+
+private:
+ std::string _path;
+ std::string _secondaryPath;
+ std::string _rotation;
+ UInt64 _limit;
+ bool _flush;
+ LogFile* _pFile;
+ FastMutex _mutex;
+};
+
+
+} // namespace Poco
+
+
+#endif // Foundation_SimpleFileChannel_INCLUDED