You cant log messages in the constructor as the subscription information must know about the queue, which is set in the setQueue method (which is the point the creation is logged).
The CREATE and CLOSE messages continue to use _logActor instead of CurrentActor.get(), they should be updated.
The START message in the addCredit() method should only be emitted if the flow was previously stopped, there are situations where it will currently be emitted upon delivery of every message (regardless whether the subscription was stopped). There is an atomic boolean used in both addCredit() and the stop() methods already that can be used to ensure this condition. The STOP message should be emitted from the stop() method, it is currently not used at all except in the constructor.
I would rename START and STOP to STARTED and STOPPED respectively and make the text indicate that it is discussing Flow (ie 'Flow Started' instead of 'Start', for consistency with the existing Channel messages).
Looking at it there appears to be additional places in the class that state changes from active to suspended, and these seem to call the currently-unused state listenener. It may be best to move all possible logging into the state listener to ensure no changes are missed.
START/STOP should probably use CurrentActor.get()
Where are FLOW message IDs 1002 and 1004 anyway?
The ENFORCED and REMOVED messages dont really convey that it is (Producer) Flow Control that is being discussed. In the Channel implementation it is possible to say whcih queue caused the Channel to have flow control enforced, for 0-10 it should be possible to say this for subscriptions instead (since flow control is per subscription and not session/channel)....however, as they arent being used they should just be deleted anyway. Same for RESTORED and MODE.
That would leave only the start/stop messages, and given that these messages are about Subscriptions (albeit 0-10 only) I think theyd be best put alogn with the Subscription log messages.