Log + cache