Chromium Code Reviews| Index: components/offline_pages/offline_event_logger.h |
| diff --git a/components/offline_pages/offline_event_logger.h b/components/offline_pages/offline_event_logger.h |
| index 95ac36cc7914303dcb8f22f99e65b7db19141389..d7c10551b553078ea5b5dad18a460421018182db 100644 |
| --- a/components/offline_pages/offline_event_logger.h |
| +++ b/components/offline_pages/offline_event_logger.h |
| @@ -11,10 +11,10 @@ |
| #include "base/macros.h" |
| -namespace offline_pages { |
| +#define OFFLINE_LOG_TAG \ |
|
fgorski
2016/12/01 21:42:53
move this to the file where it is used, please.
romax
2016/12/02 01:57:49
Done.
|
| + std::string(__FILE__) + "(" + std::to_string(__LINE__) + ") :" |
| -// Maximum number of recorded Logs to keep track of at any moment. |
| -static const size_t kMaxLogCount = 50; |
| +namespace offline_pages { |
| // Facilitates the logging of events. Subclasses should create methods that |
| // call RecordActivity to write into the log. |SetIsLogging|, |GetLogs|, and |
| @@ -27,6 +27,16 @@ static const size_t kMaxLogCount = 50; |
| // This log only keeps track of the last |kMaxLogCount| events. |
| class OfflineEventLogger { |
| public: |
| + // This client interface should be implemented by the class which provids the |
|
fgorski
2016/12/01 21:42:53
typo
romax
2016/12/02 01:57:49
Done.
|
| + // ability to pipe the log somewhere else (Eg. a java class which can write |
| + // logs into a file). It's optional and use SetClient() to attach the client |
|
fgorski
2016/12/01 21:42:53
nit: optional and uses ?
romax
2016/12/02 01:57:49
Done.
|
| + // to the event logger instance. |
| + class Client { |
| + public: |
| + virtual ~Client(){}; |
| + virtual void CustomLog(const std::string& message) = 0; |
| + }; |
| + |
| OfflineEventLogger(); |
| ~OfflineEventLogger(); |
| @@ -43,16 +53,21 @@ class OfflineEventLogger { |
| // Dumps the current activity list into |records|. |
| void GetLogs(std::vector<std::string>* records); |
| - protected: |
| // Write the activity into the cycling log if we are currently logging. |
| void RecordActivity(const std::string& activity); |
| + // Sets the client for custom logging process if needed. |
| + void SetClient(Client* client); |
| + |
| private: |
| // Recorded offline page activities. |
| std::deque<std::string> activities_; |
| // Whether we are currently recording logs or not. |
| bool is_logging_; |
| + |
| + // Not owned. |
| + Client* client_; |
| }; |
| } // namespace offline_pages |