Question: Is there a package to log Emacs activity?

I've been logging my productive activity with various tools, including shell and browser history. More I use Emacs, it's hard to track what I do. Because more and more staff is done in Emacs without touching any other tools.

I'm aware of [`command-log-mode`](https://github.com/lewang/command-log-mode). The latest version has [time-stamps and save capability](https://emacs.stackexchange.com/questions/12935/) but it does not log what file I am working on. Maybe it is a good candidate for a starting point.

I'm also aware that you can time with [`org-mode`](http://orgmode.org/manual/Clocking-work-time.html#Clocking-work-time). I'm using it but I always forget to switch to new work when I interrupted by my colleagues.

BTW, I'm not interested in *real* life logging with Emacs. I'm not looking for any extra gadget nor ways to *wear* Emacs. It sounds interesting but not for now.

Answer: 
`M-x open-dribble-file`

See the Emacs manual, node [Checklist](http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html) and the Elisp manual, node [Recording Input](http://www.gnu.org/software/emacs/manual/html_node/elisp/Recording-Input.html).

> 
> Start writing all keyboard characters to a dribble file called FILE.
>  If FILE is nil, close any open dribble file.
>  The file will be closed when Emacs exits.
> 
> 
> Be aware that this records ALL characters you type!
>  This may include sensitive information such as passwords.
> 
> 
>
Does WakaTime meet your need? <https://wakatime.com/>

From their website:

> 
> Get real-time metrics per project, file, branch, commit, feature, operating system, editor/IDE, language, etc.
> 
> 
>