Можете ли оценить код, и сказать как сделать его лучше?
Самая большая ошибка - пользоваться yii2.
1. Type hints для свойств через phpdoc использовать. Или обновиться до 7.4 и использовать type-hints средствами языка.
2. Type hints для аргументов методов и возвращаемых значений использовать.
3. Написать класс Logger и использовать как зависимость. Желательно чтобы он был адаптером для LoggerInterface(psr3)
4. Методы и переменные нормально называть, половину пхп-доков повыпиливать.
5. Логику(ветвления) либо выносить в зависимости, либо писать юнит-тесты на неё. Учитывая что этот класс ещё и в базу лазит через AR, логики(ветвлений) тут лучше не делать.
6. $value передавать не в конструктор а в конкретные методы где оно нужно, чтобы не пересоздавать экземпляр класса для каждого списания.
7. private function initiator($system = true){
    if ($system){
        return User::find()->where(['login'=>'System'])->one();
    }
    return Yii::$app->user->identity;
}
Выкинуть из этого класса, для работы ему это не нужно, а для логгера хватит и идентификтора, дальше логгер сам пусть разбирается что откуда достать и залогировать.5. это вы имеете ввиду что в методах new используется?
Да, внедряйте зависимости через Dependency Injection. То есть не создавайте new CashLog а требуйте экземпляр логгера с нужными вам методами в конструктор. Если логгеру нужен юзер а у вас в классе только его идентификатор - желательно бы передавать в логгер идентификатор, а дальше пусть его забота будет, чтобы не нагружать этой логикой ваш класс.
В принципе о связности/тестируемости вам рановато пока думать, в будущем стоит присмотреться к принципам Coupling/Cohesion.