Как создавать новый лог файл каждую неделю?
Можно вообще не мучаться с языком программирования - разберитесь что такое встроенная служба logrotate, которая как раз и занимается этим.
logrotate может ротировать логи как общаясь с приложением (посылая ему команды переоткрыть файл), так и самостоятельно делая truncate.
Почитайте краткий мануал и гляньте в инете несколько примеров конфигураций. Если что, спросите в каментах конкретнее.
Обычно задачи ведения логов и их ротации разделяют: приложение/демон только ведёт лог в файле со сконфигурированным названием, а при получении специального сигнала закрывает текущий файловый дескриптор журнального файла и открывает новый.logrotate занимается ротацией логов, переименовывая их и посылая сигнал приложению.
Вероятно в системах с systemd за это отвечает не logrotate а какая-то приблуда systemd.