Emacs org mode as a work diary

Solution 1:

To see what I have done by day (there is probably a way to limit it to a particular period of time, but putting that together is a low priority for me), here is what I do. Start with C-c a that brings up the orgmode agenda menu, then L to display the timeline for the current file and finally l to turn log mode on.

That gives me output that looks like this:

...
Wednesday   9 March 2011
Clocked:   (7:21) One of my tasks
Clocked:   (0:07) Another of my tasks
...

Given that this is in emacs, there is probably a way to make this simpler/quicker to use, but this is what I do at the moment.

Solution 2:

I personally have a binding to insert a now timestamp, and scatter them over the tasks I work on while I do so. Then, I can see what I've been doing in the agenda (C-a a a), looking at past days.
Maybe rayners' idea of the timeline is better, I just never used it.
It has the advantage you can put multiple temistamps for some tasks, without depending on state changes (which I personaly don't log).

It goes :

;; Insert immediate active timestamp
(define-key global-map (kbd "<f9>")
'(lambda () (interactive)
   (when (eq major-mode 'org-mode)
     (org-insert-time-stamp nil t nil)
     ;; (insert "\n")
     )))

And may requiere org-agenda-skip-timestamp-if-done to be nil.

Solution 3:

If you use clocking, you can generate a week view of what you have done (clocked in/out total hours) in your org file with this code block

#+BEGIN: clocktable :maxlevel 3 :scope agenda :block thisweek :step day
#+END:

and C-c C-c on the header BEGIN to populate. I have left the above options that I use to show what is possible (week view step by day). Only problem I face with this, I forget to clock in everything I do! I complement it with an org-journal entry when I know I haven't clocked in staff.