So you edited default transmission-daemon settings file (/etc/default/transmission-daemon) then restarted the daemon and nothing happened? Well... thanks to this thread on unix.stackexchange.com I learned that transmission-daemon is managed by systemctl and because of that init.d scripts that use mentioned default config are ignored.

To tell the daemon that you want him to create a pid and a log files you need to edit /lib/systemd/system/transmission-daemon.service file to look like this:

[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=debian-transmission
Type=notify
RuntimeDirectory=transmission-daemon
LogsDirectory=transmission-daemon
ExecStart=/usr/bin/transmission-daemon -f --log-error --log-debug --logfile /var/log/transmission-daemon/transmission.log --pid-file /run/transmission-daemon/transmission.pid
ExecStop=/bin/kill -s STOP $MAINPID
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target
Where:
  • RuntimeDirectory tells systemd to create transmission-daemon folder inside /run owned by daemon's user. We want this because the daemon runs under debian-transmission username which doesn't have access to the /run so it won't be able to write to this directory.
  • LogsDirectory tells systemd to create transmission-daemon folder inside /var/log. Reasoning is the same as above.

Now you can restart the daemon (don't forget about systemctl daemon-reload before restarting) and the log and the pid files should be in place.