It sounds like you might think that readonly
does more than it really does. For one thing, readonly status is not exported into the environment or inherited by child processes:
$ declare -rx LOGS=hello
$ LOGS=goodbye
bash: LOGS: readonly variable
$ bash -c 'echo "$LOGS"'
hello
$ bash -c 'LOGS=goodbye; echo "$LOGS"'
goodbye
$