Perhaps what follows will be useful to you. I use a variant of this in my emacs setup. (I don't use screen but another program that logs screen output.)

As is, it instructs emacs, whenever you open a file which filename looks like `screenlog.n` with n a number, to enable rendering ANSI sequences in color.
(It does not process cursor movement and the like, which I prefer anyway.)

```elisp
(add-hook 'text-mode-hook
          (lambda ()
	    (when (string-match "screenlog\.[0-9]*$" (buffer-name))
              (progn
		(format-decode-buffer 'backspace-overstrike)
		(format-decode-buffer 'ansi-colors)
		(my-buffer-face-mode-fixed)
		(hide-dos-eol)
		(face-remap-add-relative 'default '((:foreground "white" :background "black")))
		))))
```

It has some drawbacks, e.g. you cannot save buffers (you get "Sorry, 'ansi-colors' format is read-only."), but it allows what you asked for, rendering shell escape codes.