No Description

rotate_logs.h 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (C) 2016 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef _ROTATE_LOGS_H
  17. #define _ROTATE_LOGS_H
  18. #include <stddef.h>
  19. #include <sys/types.h>
  20. #include <log/log_id.h>
  21. static constexpr int KEEP_LOG_COUNT = 10;
  22. ssize_t logbasename(log_id_t id, char prio, const char* filename, const char* buf, size_t len,
  23. void* arg);
  24. ssize_t logrotate(log_id_t id, char prio, const char* filename, const char* buf, size_t len,
  25. void* arg);
  26. // Rename last_log -> last_log.1 -> last_log.2 -> ... -> last_log.$max.
  27. // Similarly rename last_kmsg -> last_kmsg.1 -> ... -> last_kmsg.$max.
  28. // Overwrite any existing last_log.$max and last_kmsg.$max.
  29. void rotate_logs(const char* last_log_file, const char* last_kmsg_file);
  30. #endif //_ROTATE_LOG_H