Finding optimal indices, different query competing indices
The query planner seems to think that created is more selective than token.  Are your table statistics up to date?  Check the last_analyze column in:

SELECT  schemaname, relname, last_analyze 
FROM    pg_stat_all_tables 
WHERE   relname = 'logs'


To really force the issue, you can use a temporary table:

begin;
create temporary table tmp_logs (created timestamp);
insert tmp_logs select created from logs where token = 'token_600_chars_long';
select count(*) from tmp_logs where created &gt;= NOW() - INTERVAL '1 day';
commit;


The first query only uses a condition on token, so the optimizer can only use an index that starts with token.