Describe the bug
The "A fish leaps from the deep water!" messages can be very spammy, and are relatively useless as the player generally doesn't care to be notified every time a fish jumps.
To Reproduce
Expected behavior
Either less/no/more useful messages
Screenshots

Even with more important creatures, I'm not sure there's a purpose to explaining what's going on in the message log. If you're walking by deep water and a swimmer zombie pops out, you can probably figure it out.
Yeah it should only message if you are adjacent to the monster.
Probably was added to give you a sense of ambiance. Describing what the play is seeing at that moment.
The code that writes these messages starts on line 1120 of monmove.cpp
I feel like this is something that, depending on the creature type, players may or may not care about. They may care about zombies next to them emerging from the water, or feral hunters leaping towards them. They may not care about the dozens of fish in a given river. I've spitballed a few ideas to deal with the issue.
Idea 1: Messages appear within a certain range
This isn't really a great fix to the issue because it doesn't eliminate the problem if you happen to be within the range of whatever is doing this. Easy, but not a great fix.
Idea 2: Show for only hostile monsters
On the assumption that you don't care about fish diving or birds flying unless they're actively attacking you or your allies, make it so that by default, messages about this are not added to the log unless they're hostile. Bonus points if you make it so you can turn this back to its original behavior.
I do like your second idea, it would eliminate the vast majority of the spam.
Idea 3: Messages are suppressed for some cooldown period
Another option is to extend the message deduplication feature to only write a message to the log if there is not a recent instance of it instead of only suppressing duplicate messages when adjacent.
I still like the "suppress identical messages" solution best. These could be changed to "you see a ___ jumping in the water" and be limited to one per 5 mins or something
I velieve this is closed by https://github.com/CleverRaven/Cataclysm-DDA/pull/30543
Most helpful comment
Yeah it should only message if you are adjacent to the monster.