CCLogger
What is CCLogger?
CCLogger logs player activity on Paper servers. Chat messages, commands, joins, quits, kicks - it all gets recorded to your storage backend of choice.
You can use flat files for simplicity, SQLite if you want queries without external dependencies, or connect to MySQL, MongoDB, or Redis for larger setups. All writes happen async so your server tick rate stays clean.
Features
Logging
Chat - Messages with timestamp, world, and coordinates
Commands - All commands (blacklist supported for /login, /register, etc.)
Connections - Join, quit, kick events
Output options:
- Global log files (chat.log, commands.log)
- Per-player files (players/Steve.log)
- Custom format with placeholders:
%date,%name,%content,%world,%x,%y,%z
Storage
File - Text files, human-readable (no setup)
SQLite - Local database, no config needed (no setup)
MySQL - Shared database for networks (requires MySQL server)
MongoDB - Document store, scales horizontally (requires MongoDB)
Redis - Fast, in-memory, good for high volume (requires Redis)
All backends use async writes and connection pooling.
Privacy
IP logging modes for GDPR compliance:
- disabled - IPs not stored
- truncated - Last octet zeroed (192.168.1.x becomes 192.168.1.0)
- hashed - bcrypt hash with daily rotating salt
- full - Complete IP stored
Commands can be blacklisted with regex patterns. Players with cclogger.exempt permission are excluded from logging.
Alerts
Monitor keywords and commands in real-time:
- Define trigger words (e.g., "hack", "cheat", "exploit")
- Define trigger commands (e.g., "/op", "/gamemode")
- Ops with
cclogger.notifyget in-game alerts - All triggers logged to file
Web Dashboard
CCLogger includes a modern React-based web dashboard (disabled by default):
Dashboard
- Stats overview with log type breakdown
- Log distribution pie chart
- Activity timeline showing recent activity
- Top active players at a glance
Live Timeline
- Real-time activity feed that auto-refreshes
- Pause/resume with keyboard shortcuts
- Filter by log type (Chat, Command, Login, Logout)
- Jump to live button when scrolled
Log Browser
- Full-text search across all logs
- Filter by type, player, date range
- Pagination for large result sets
- Export to JSON or CSV
Player Profiles
- Minecraft avatar display (via Crafatar)
- Activity statistics per player
- Recent activity history
- Click any player name to view profile
REST API
POST /api/auth/token- Get JWT tokenGET /api/logs- Query logs with filtersGET /api/logs/player/{name}- Logs for one playerGET /api/logs/search?q=term- Search log contentGET /api/stats- Statistics
JWT auth with rate limiting.
Requirements
- Paper 1.21+ or Folia
- Java 21+
Commands
/cclogger- Shows help/cclogger reload- Reload config (requirescclogger.reload)/cclogger count <word> [player]- Count word occurrences (requirescclogger.statistics)/cclogger clear- Archive and clear logs (requirescclogger.admin)
Permissions
cclogger.*- Everything (default: OP)cclogger.notify- Receive alerts (default: OP)cclogger.exempt- Not logged (default: false)cclogger.reload- Reload config (default: OP)cclogger.statistics- Count command (default: OP)cclogger.admin- Clear/archive (default: OP)cclogger.web- Web API access (default: OP)
Setup
- Drop JAR in
plugins/ - Restart server
- Edit
plugins/CCLogger/config.yml /cclogger reload
Default config works immediately. Change storage.type if you want something other than SQLite.
Config Example
storage:
type: sqlite # file, sqlite, mysql, mongodb, redis
privacy:
ip-logging: disabled
notifications:
enabled: true
chat-keywords:
- "hack"
- "cheat"
web:
enabled: false
port: 8080
-
View User Profile
-
Send Message
Posted Jan 25, 2020Super Gut ;D!
Es ist eig. nur über 1.9 version im funktion aber es klappt auch mit der Version: (Spigot:1.12.2)
Es lohnt sich !
LG. iCrashMix
-
View User Profile
-
Send Message
Posted May 10, 2019Hi,
Does anyone know how can I enable command logging for OP please ?
They say they disabled perms, but it seems there is still one preventing command/chat messages logging (not login/logout logging) for OP people
-
View User Profile
-
Send Message
Posted Sep 29, 2017Hi
Anyone knows a similar plugin, which do almost the same things? :)
-
View User Profile
-
Send Message
Posted Jun 9, 2017please update the metrics or whatever
its breaks metrics for all other plugins using it
-
View User Profile
-
Send Message
Posted Mar 8, 2017Will it cause lag?
-
View User Profile
-
Send Message
Posted Sep 21, 2016rews
-
View User Profile
-
Send Message
Posted Jun 29, 2016Hi,
Thank you for update to 1.9. Is it possible to re-implement some functionnalities ? Like notifications in game, zipping system, and add new like ability to choose date format?
-
View User Profile
-
Send Message
Posted Apr 6, 2016Any way we can have the old date format back? It's hard to sort when April comes before January... 04/06/16 would be ideal since I doubt that minecraft will be around in 2100 and beyond. Great job on the update. It works error free now but I'd like to see a choice in tine/date format since sorting by date is difficult with Jan, feb, mar etc... Cheers and thanks for the 1.9 update !! could also skip UTC and make it 24 hour format to skip AM/PM ie 04/06/16 21:45:17 - much less space used and more transparent when checking logs...
-
View User Profile
-
Send Message
Posted Mar 27, 2016Timings Report Showing Lag
http://i.imgur.com/UM5xz5H.png
Getting a little bit of lag from the plugin (especially compared to before).
-
View User Profile
-
Send Message
Posted Mar 23, 2016Could you please add the method in which the player was killed to their logs? Thanks.
-
View User Profile
-
Send Message
Posted Mar 22, 2016Hope to start using this again when the bugs are cleaned up. Thanks for the work!
-
View User Profile
-
Send Message
Posted Mar 22, 2016@ThisUsernameIsMine
Shoot darn... I need to set up a better way to test everything.
Temporary fix for this is to just remove the IP address from the template in your config.yml. I'm working on implementing a fix for this.
-
View User Profile
-
Send Message
Posted Mar 22, 2016For some reason regular players get notified with player join/log information including their IP address and world coordinates :S
-
View User Profile
-
Send Message
Posted Mar 21, 2016@GioboiMC
Thanks for the stacktrace! I've uploaded a fix for various issues that were happening. The plugin should no longer try to connect to a database if you have it disabled (it is by default now). Also, it should no longer try to write to a non-existent database.
-
View User Profile
-
Send Message
Posted Mar 21, 2016Failed to work with spigot 1.9. Here is the error I got: http://pastebin.com/Qb7VCbAz
-
View User Profile
-
Send Message
Posted Mar 21, 2016@Alrik94
Much love! Glad to see you're back working on this
-
View User Profile
-
Send Message
Posted Mar 20, 2016@Alrik94
Yes! Just as I was looking for an easy logger for chat. None to be found for spigot 1.9 atm...
-
View User Profile
-
Send Message
Posted Mar 20, 2016@Alrik94
I really appreciate you working on this again. Would it be possible for you to make a quick update to the current one so that it works with 1.9 before you work on a complete overhaul? (And hopefully add death information). Thanks so much!
-
View User Profile
-
Send Message
Posted Mar 20, 2016@GioboiMC
I'm currently getting my development environment set up. I'm going to be making a fresh website for this hopefully with both Bukkit 1.9 and SpigotMC 1.9 builds.
It's been a long time since I've worked on this, so I'm still getting back into the whole Java thing.
-
View User Profile
-
Send Message
Posted Mar 18, 2016@Alrik94
Spigot 1.9
ETA on update?