# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description     "Job to incorporate early log files into the syslog"
author          "chromium-os-dev@chromium.org"

start on started system-services

# Sacrifice before OOM panic.
oom score 0

task

script
  # Dump the log in syslog to preserve tmpfiles.d info over reboots.
  logger -t tmpfiles.d -f /run/tmpfiles.log || true
  rm -f /run/tmpfiles.log
end script
